Skip to content

Commit

Permalink
Updated Magma submodule
Browse files Browse the repository at this point in the history
  • Loading branch information
victorcoda committed Apr 15, 2021
1 parent d830a59 commit b8af483
Show file tree
Hide file tree
Showing 20 changed files with 122 additions and 120 deletions.
8 changes: 4 additions & 4 deletions blur-gaussian/blur-gaussian.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -106,17 +106,17 @@ class GaussianBlur : public GraphicsApp
FragmentStageBinding(1, StorageBuffer(1)),
}));
horzDescriptor.set = descriptorPool->allocateDescriptorSet(horzDescriptor.layout);
horzDescriptor.set->update(0, inputFramebuffer->getColorView(), nearestRepeat);
horzDescriptor.set->update(1, weightsBuffer);
horzDescriptor.set->writeDescriptor(0, inputFramebuffer->getColorView(), nearestRepeat);
horzDescriptor.set->writeDescriptor(1, weightsBuffer);
// 2. Vertical pass
vertDescriptor.layout = std::shared_ptr<magma::DescriptorSetLayout>(new magma::DescriptorSetLayout(device,
{
VertexFragmentStageBinding(0, CombinedImageSampler(1)),
FragmentStageBinding(1, StorageBuffer(1)),
}));
vertDescriptor.set = descriptorPool->allocateDescriptorSet(vertDescriptor.layout);
vertDescriptor.set->update(0, tempFramebuffer->getColorView(), nearestRepeat);
vertDescriptor.set->update(1, weightsBuffer);
vertDescriptor.set->writeDescriptor(0, tempFramebuffer->getColorView(), nearestRepeat);
vertDescriptor.set->writeDescriptor(1, weightsBuffer);
}

void setupGraphicsPipelines()
Expand Down
4 changes: 2 additions & 2 deletions blur-ping-pong/blur-ping-pong.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ class PingPongBlur : public GraphicsApp
magma::bindings::VertexFragmentStageBinding(0, magma::descriptors::CombinedImageSampler(1)));
ping = createPass(layout, true);
pong = createPass(layout, false);
ping.set->update(0, pong.framebuffer->getColorView(), bilinearRepeat); // Use hardware bilinear filtering
pong.set->update(0, ping.framebuffer->getColorView(), bilinearRepeat); // Use hardware bilinear filtering
ping.set->writeDescriptor(0, pong.framebuffer->getColorView(), bilinearRepeat); // Use hardware bilinear filtering
pong.set->writeDescriptor(0, ping.framebuffer->getColorView(), bilinearRepeat); // Use hardware bilinear filtering
}

void setupGraphicsPipelines()
Expand Down
10 changes: 5 additions & 5 deletions brdf/brdf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -188,11 +188,11 @@ class BasicBrdf : public GraphicsApp
FragmentStageBinding(4, CombinedImageSampler(1))
}));
descriptor.set = descriptorPool->allocateDescriptorSet(descriptor.layout);
descriptor.set->update(0, transforms);
descriptor.set->update(1, viewProjTransforms);
descriptor.set->update(2, lightSource);
descriptor.set->update(3, materials);
descriptor.set->update(4, aniso, anisotropicClampToEdge);
descriptor.set->writeDescriptor(0, transforms);
descriptor.set->writeDescriptor(1, viewProjTransforms);
descriptor.set->writeDescriptor(2, lightSource);
descriptor.set->writeDescriptor(3, materials);
descriptor.set->writeDescriptor(4, aniso, anisotropicClampToEdge);
}

void setupGraphicsPipelines()
Expand Down
10 changes: 5 additions & 5 deletions bumpmapping/bumpmapping.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -138,16 +138,16 @@ class BumpMapping : public GraphicsApp
FragmentStageBinding(3, CombinedImageSampler(1))
}));
bumpDescriptor.set = descriptorPool->allocateDescriptorSet(bumpDescriptor.layout);
bumpDescriptor.set->update(0, transforms);
bumpDescriptor.set->update(1, viewProjTransforms);
bumpDescriptor.set->update(2, lightSource);
bumpDescriptor.set->update(3, heightMap, anisotropicClampToEdge);
bumpDescriptor.set->writeDescriptor(0, transforms);
bumpDescriptor.set->writeDescriptor(1, viewProjTransforms);
bumpDescriptor.set->writeDescriptor(2, lightSource);
bumpDescriptor.set->writeDescriptor(3, heightMap, anisotropicClampToEdge);
// Fill shader
fillDescriptor.layout = std::shared_ptr<magma::DescriptorSetLayout>(new magma::DescriptorSetLayout(device,
VertexStageBinding(0, DynamicUniformBuffer(1))
));
fillDescriptor.set = descriptorPool->allocateDescriptorSet(fillDescriptor.layout);
fillDescriptor.set->update(0, transforms);
fillDescriptor.set->writeDescriptor(0, transforms);
}

void setupGraphicsPipelines()
Expand Down
12 changes: 6 additions & 6 deletions cook-torrance/cook-torrance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -208,12 +208,12 @@ class CookTorrance : public GraphicsApp
FragmentStageBinding(5, DynamicUniformBuffer(1))
}));
descriptor.set = descriptorPool->allocateDescriptorSet(descriptor.layout);
descriptor.set->update(0, transforms);
descriptor.set->update(1, viewProjTransforms);
descriptor.set->update(2, lightSources);
descriptor.set->update(3, roughnessUniform);
descriptor.set->update(4, refractiveIndices);
descriptor.set->update(5, albedoColors);
descriptor.set->writeDescriptor(0, transforms);
descriptor.set->writeDescriptor(1, viewProjTransforms);
descriptor.set->writeDescriptor(2, lightSources);
descriptor.set->writeDescriptor(3, roughnessUniform);
descriptor.set->writeDescriptor(4, refractiveIndices);
descriptor.set->writeDescriptor(5, albedoColors);
}

void setupGraphicsPipeline()
Expand Down
6 changes: 3 additions & 3 deletions debug-tangents/debug-tangents.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -114,13 +114,13 @@ class DebugTangents : public GraphicsApp
FragmentStageBinding(1, UniformBuffer(1)),
}));
wireframeDescriptor.set = descriptorPool->allocateDescriptorSet(wireframeDescriptor.layout);
wireframeDescriptor.set->update(0, transforms);
wireframeDescriptor.set->update(1, wireframe);
wireframeDescriptor.set->writeDescriptor(0, transforms);
wireframeDescriptor.set->writeDescriptor(1, wireframe);
// 2. Tangents pass
transformDescriptor.layout = std::shared_ptr<magma::DescriptorSetLayout>(new magma::DescriptorSetLayout(device,
VertexGeometryStageBinding(0, DynamicUniformBuffer(1))));
transformDescriptor.set = descriptorPool->allocateDescriptorSet(transformDescriptor.layout);
transformDescriptor.set->update(0, transforms);
transformDescriptor.set->writeDescriptor(0, transforms);
}

void setupGraphicsPipelines()
Expand Down
32 changes: 16 additions & 16 deletions deferred-shading/deferred-shading.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -218,8 +218,8 @@ class DeferredShading : public GraphicsApp
FragmentStageBinding(1, UniformBuffer(1))
}));
depthDescriptor.set = descriptorPool->allocateDescriptorSet(depthDescriptor.layout);
depthDescriptor.set->update(0, transforms);
depthDescriptor.set->update(1, viewProjTransforms);
depthDescriptor.set->writeDescriptor(0, transforms);
depthDescriptor.set->writeDescriptor(1, viewProjTransforms);
// 2. G-buffer fill shader
gbDescriptor.layout = std::shared_ptr<magma::DescriptorSetLayout>(new magma::DescriptorSetLayout(device,
{
Expand All @@ -228,22 +228,22 @@ class DeferredShading : public GraphicsApp
FragmentStageBinding(2, DynamicUniformBuffer(1))
}));
gbDescriptor.set = descriptorPool->allocateDescriptorSet(gbDescriptor.layout);
gbDescriptor.set->update(0, transforms);
gbDescriptor.set->update(1, viewProjTransforms);
gbDescriptor.set->update(2, materials);
gbDescriptor.set->writeDescriptor(0, transforms);
gbDescriptor.set->writeDescriptor(1, viewProjTransforms);
gbDescriptor.set->writeDescriptor(2, materials);
// 3. G-buffer fill texture shader
gbTexDescriptor.layout = std::shared_ptr<magma::DescriptorSetLayout>(new magma::DescriptorSetLayout(device,
{
VertexFragmentStageBinding(0, magma::descriptors::DynamicUniformBuffer(1)),
VertexFragmentStageBinding(0, DynamicUniformBuffer(1)),
FragmentStageBinding(1, UniformBuffer(1)),
FragmentStageBinding(2, DynamicUniformBuffer(1)),
FragmentStageBinding(3, CombinedImageSampler(1))
}));
gbTexDescriptor.set = descriptorPool->allocateDescriptorSet(gbTexDescriptor.layout);
gbTexDescriptor.set->update(0, transforms);
gbTexDescriptor.set->update(1, viewProjTransforms);
gbTexDescriptor.set->update(2, materials);
gbTexDescriptor.set->update(3, normalMap, anisotropicClampToEdge);
gbTexDescriptor.set->writeDescriptor(0, transforms);
gbTexDescriptor.set->writeDescriptor(1, viewProjTransforms);
gbTexDescriptor.set->writeDescriptor(2, materials);
gbTexDescriptor.set->writeDescriptor(3, normalMap, anisotropicClampToEdge);
// 4. Deferred shading
dsDescriptor.layout = std::shared_ptr<magma::DescriptorSetLayout>(new magma::DescriptorSetLayout(device,
{
Expand All @@ -255,12 +255,12 @@ class DeferredShading : public GraphicsApp
FragmentStageBinding(6, CombinedImageSampler(1)) // Depth
}));
dsDescriptor.set = descriptorPool->allocateDescriptorSet(dsDescriptor.layout);
dsDescriptor.set->update(0, viewProjTransforms);
dsDescriptor.set->update(1, lightSource);
dsDescriptor.set->update(2, gbuffer->getAttachmentView(0), nearestClampToEdge);
dsDescriptor.set->update(3, gbuffer->getAttachmentView(1), nearestClampToEdge);
dsDescriptor.set->update(4, gbuffer->getAttachmentView(2), nearestClampToEdge);
dsDescriptor.set->update(5, gbuffer->getDepthStencilView(), nearestClampToEdge);
dsDescriptor.set->writeDescriptor(0, viewProjTransforms);
dsDescriptor.set->writeDescriptor(1, lightSource);
dsDescriptor.set->writeDescriptor(2, gbuffer->getAttachmentView(0), nearestClampToEdge);
dsDescriptor.set->writeDescriptor(3, gbuffer->getAttachmentView(1), nearestClampToEdge);
dsDescriptor.set->writeDescriptor(4, gbuffer->getAttachmentView(2), nearestClampToEdge);
dsDescriptor.set->writeDescriptor(5, gbuffer->getDepthStencilView(), nearestClampToEdge);
}

void setupGraphicsPipelines()
Expand Down
14 changes: 7 additions & 7 deletions displacement-mapping/displacement-mapping.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -205,19 +205,19 @@ class DisplacementMapping : public GraphicsApp
VertexFragmentStageBinding(5, CombinedImageSampler(1))
}));
displacementDescriptor.set = descriptorPool->allocateDescriptorSet(displacementDescriptor.layout);
displacementDescriptor.set->update(0, transforms);
displacementDescriptor.set->update(1, viewProjTransforms);
displacementDescriptor.set->update(2, lightSource);
displacementDescriptor.set->update(3, material);
displacementDescriptor.set->update(4, parameters);
displacementDescriptor.set->update(5, displacementMap, anisotropicClampToEdge);
displacementDescriptor.set->writeDescriptor(0, transforms);
displacementDescriptor.set->writeDescriptor(1, viewProjTransforms);
displacementDescriptor.set->writeDescriptor(2, lightSource);
displacementDescriptor.set->writeDescriptor(3, material);
displacementDescriptor.set->writeDescriptor(4, parameters);
displacementDescriptor.set->writeDescriptor(5, displacementMap, anisotropicClampToEdge);
// Fill shader
fillDescriptor.layout = std::shared_ptr<magma::DescriptorSetLayout>(new magma::DescriptorSetLayout(device,
{
VertexStageBinding(0, DynamicUniformBuffer(1))
}));
fillDescriptor.set = descriptorPool->allocateDescriptorSet(fillDescriptor.layout);
fillDescriptor.set->update(0, transforms);
fillDescriptor.set->writeDescriptor(0, transforms);
}

void setupGraphicsPipelines()
Expand Down
2 changes: 1 addition & 1 deletion edge-detection/edge-detection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ class EdgeDetection : public GraphicsApp
descriptor.layout = std::shared_ptr<magma::DescriptorSetLayout>(new magma::DescriptorSetLayout(device,
VertexStageBinding(0, DynamicUniformBuffer(1))));
descriptor.set = descriptorPool->allocateDescriptorSet(descriptor.layout);
descriptor.set->update(0, transforms);
descriptor.set->writeDescriptor(0, transforms);
}

void setupGraphicsPipelines()
Expand Down
33 changes: 18 additions & 15 deletions gbuffer/gbuffer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -183,30 +183,33 @@ class Gbuffer : public GraphicsApp
}

void setupDescriptorSets()
{ // 1. G-buffer fill shader
{
using namespace magma::bindings;
using namespace magma::descriptors;
// 1. G-buffer fill shader
descriptor.layout = std::shared_ptr<magma::DescriptorSetLayout>(new magma::DescriptorSetLayout(device,
{
magma::bindings::VertexStageBinding(0, magma::descriptors::DynamicUniformBuffer(1)),
magma::bindings::FragmentStageBinding(1, magma::descriptors::UniformBuffer(1)),
magma::bindings::FragmentStageBinding(2, magma::descriptors::DynamicUniformBuffer(1)),
VertexStageBinding(0, DynamicUniformBuffer(1)),
VertexFragmentStageBinding(1, UniformBuffer(1)),
VertexFragmentStageBinding(2, DynamicUniformBuffer(1)),
}));
descriptor.set = descriptorPool->allocateDescriptorSet(descriptor.layout);
descriptor.set->update(0, transforms);
descriptor.set->update(1, viewProjTransforms);
descriptor.set->update(2, materials);
descriptor.set->writeDescriptor(0, transforms);
descriptor.set->writeDescriptor(1, viewProjTransforms);
descriptor.set->writeDescriptor(2, materials);
// 2. G-buffer fill texture shader
texDescriptor.layout = std::shared_ptr<magma::DescriptorSetLayout>(new magma::DescriptorSetLayout(device,
{
magma::bindings::VertexFragmentStageBinding(0, magma::descriptors::DynamicUniformBuffer(1)),
magma::bindings::FragmentStageBinding(1, magma::descriptors::UniformBuffer(1)),
magma::bindings::FragmentStageBinding(2, magma::descriptors::DynamicUniformBuffer(1)),
magma::bindings::FragmentStageBinding(3, magma::descriptors::CombinedImageSampler(1))
magma::bindings::VertexFragmentStageBinding(0, DynamicUniformBuffer(1)),
magma::bindings::VertexFragmentStageBinding(1, UniformBuffer(1)),
magma::bindings::VertexFragmentStageBinding(2, DynamicUniformBuffer(1)),
magma::bindings::VertexFragmentStageBinding(3, CombinedImageSampler(1))
}));
texDescriptor.set = descriptorPool->allocateDescriptorSet(texDescriptor.layout);
texDescriptor.set->update(0, transforms);
texDescriptor.set->update(1, viewProjTransforms);
texDescriptor.set->update(2, materials);
texDescriptor.set->update(3, normalMap, anisotropicClampToEdge);
texDescriptor.set->writeDescriptor(0, transforms);
texDescriptor.set->writeDescriptor(1, viewProjTransforms);
texDescriptor.set->writeDescriptor(2, materials);
texDescriptor.set->writeDescriptor(3, normalMap, anisotropicClampToEdge);
}

void setupGraphicsPipelines()
Expand Down
15 changes: 7 additions & 8 deletions normalmapping/normalmapping.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -139,17 +139,16 @@ class NormalMapping : public GraphicsApp
FragmentStageBinding(3, CombinedImageSampler(1))
}));
bumpDescriptor.set = descriptorPool->allocateDescriptorSet(bumpDescriptor.layout);
bumpDescriptor.set->update(0, transforms);
bumpDescriptor.set->update(1, viewProjTransforms);
bumpDescriptor.set->update(2, lightSource);
bumpDescriptor.set->update(3, normalMap, anisotropicClampToEdge);
bumpDescriptor.set->writeDescriptor(0, transforms);
bumpDescriptor.set->writeDescriptor(1, viewProjTransforms);
bumpDescriptor.set->writeDescriptor(2, lightSource);
bumpDescriptor.set->writeDescriptor(3, normalMap, anisotropicClampToEdge);
// Fill shader
fillDescriptor.layout = std::shared_ptr<magma::DescriptorSetLayout>(new magma::DescriptorSetLayout(device,
{
VertexStageBinding(0, DynamicUniformBuffer(1))
}));
VertexStageBinding(0, DynamicUniformBuffer(1))
));
fillDescriptor.set = descriptorPool->allocateDescriptorSet(fillDescriptor.layout);
fillDescriptor.set->update(0, transforms);
fillDescriptor.set->writeDescriptor(0, transforms);
}

void setupGraphicsPipelines()
Expand Down
16 changes: 8 additions & 8 deletions seascape/seascape.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ class Seascape : public GraphicsApp
FragmentStageBinding(0, UniformBuffer(1))
}));
hmDescriptor.set = descriptorPool->allocateDescriptorSet(hmDescriptor.layout);
hmDescriptor.set->update(0, sysUniforms);
hmDescriptor.set->writeDescriptor(0, sysUniforms);
// 2. Seascape pass
vtfDescriptor.layout = std::shared_ptr<magma::DescriptorSetLayout>(new magma::DescriptorSetLayout(device,
{
Expand All @@ -189,13 +189,13 @@ class Seascape : public GraphicsApp
FragmentStageBinding(6, CombinedImageSampler(1)) // envmap
}));
vtfDescriptor.set = descriptorPool->allocateDescriptorSet(vtfDescriptor.layout);
vtfDescriptor.set->update(0, transforms);
vtfDescriptor.set->update(1, viewProjTransforms);
vtfDescriptor.set->update(2, lightSource);
vtfDescriptor.set->update(3, material);
vtfDescriptor.set->update(4, seabed);
vtfDescriptor.set->update(5, heightMap->getColorView(), nearestClampToEdge);
vtfDescriptor.set->update(6, envMap, anisotropicClampToEdge);
vtfDescriptor.set->writeDescriptor(0, transforms);
vtfDescriptor.set->writeDescriptor(1, viewProjTransforms);
vtfDescriptor.set->writeDescriptor(2, lightSource);
vtfDescriptor.set->writeDescriptor(3, material);
vtfDescriptor.set->writeDescriptor(4, seabed);
vtfDescriptor.set->writeDescriptor(5, heightMap->getColorView(), nearestClampToEdge);
vtfDescriptor.set->writeDescriptor(6, envMap, anisotropicClampToEdge);
}

std::shared_ptr<magma::Specialization> createSpecialization()
Expand Down
14 changes: 7 additions & 7 deletions self-shadowing/self-shadowing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -137,19 +137,19 @@ class SelfShadowing : public GraphicsApp
FragmentStageBinding(5, CombinedImageSampler(1))
}));
phongDescriptor.set = descriptorPool->allocateDescriptorSet(phongDescriptor.layout);
phongDescriptor.set->update(0, transforms);
phongDescriptor.set->update(1, viewProjTransforms);
phongDescriptor.set->update(2, lightSource);
phongDescriptor.set->update(3, diffuseMap, anisotropicClampToEdge);
phongDescriptor.set->update(4, normalMap, anisotropicClampToEdge);
phongDescriptor.set->update(5, specularMap, anisotropicClampToEdge);
phongDescriptor.set->writeDescriptor(0, transforms);
phongDescriptor.set->writeDescriptor(1, viewProjTransforms);
phongDescriptor.set->writeDescriptor(2, lightSource);
phongDescriptor.set->writeDescriptor(3, diffuseMap, anisotropicClampToEdge);
phongDescriptor.set->writeDescriptor(4, normalMap, anisotropicClampToEdge);
phongDescriptor.set->writeDescriptor(5, specularMap, anisotropicClampToEdge);
// Fill shader
fillDescriptor.layout = std::shared_ptr<magma::DescriptorSetLayout>(new magma::DescriptorSetLayout(device,
{
VertexStageBinding(0, DynamicUniformBuffer(1))
}));
fillDescriptor.set = descriptorPool->allocateDescriptorSet(fillDescriptor.layout);
fillDescriptor.set->update(0, transforms);
fillDescriptor.set->writeDescriptor(0, transforms);
}

void setupGraphicsPipelines()
Expand Down
Loading

0 comments on commit b8af483

Please sign in to comment.