Vulkan shader fixes

This commit is contained in:
ksuprynowicz 2024-08-27 21:53:51 +02:00 committed by Karol Suprynowicz
parent 968392f2b9
commit c0351af854
8 changed files with 9 additions and 10 deletions

View file

@ -301,7 +301,7 @@ struct Cache {
#endif
VkPipelineLayoutCreateInfo pipelineLayoutCI = vks::initializers::pipelineLayoutCreateInfo(layouts.data(), (uint32_t)layouts.size());
VkPipelineLayout pipelineLayout;
vkCreatePipelineLayout(context.device->logicalDevice, &pipelineLayoutCI, nullptr, &pipelineLayout);
VK_CHECK_RESULT(vkCreatePipelineLayout(context.device->logicalDevice, &pipelineLayoutCI, nullptr, &pipelineLayout));
return _layoutMap[this->pipeline] = pipelineLayout;
//return _layoutMap[this->pipeline] = nullptr;
}

View file

@ -130,7 +130,6 @@ void Batch::setDrawcallUniformReset(uint16_t uniformReset) {
//#pragma optimize("", off)
void Batch::validateDrawState() const {
return;
if (!_currentPipeline) {
qCWarning(gpulogging) << "Missing pipeline during draw call";
}
@ -151,7 +150,7 @@ void Batch::validateDrawState() const {
continue;
}
if (!_currentStreamFormat || (0 == _currentStreamFormat->getAttributes().count(slot))) {
qCWarning(gpulogging) << "Vertex shader expects slot " << slot << " which is not proveded";
qCWarning(gpulogging) << "Vertex shader expects slot " << slot << " which is not provided";
}
}
}

View file

@ -18,7 +18,7 @@ INPUT(GPU_ATTR_NORMAL, vec4, inNormal);
INPUT(GPU_ATTR_COLOR, vec4, inColor);
INPUT(GPU_ATTR_TEXCOORD0, vec4, inTexCoord0);
INPUT(GPU_ATTR_TANGENT, vec4, inTangent);
INPUT(GPU_ATTR_SKIN_CLUSTER_INDEX, ivec4, inSkinClusterIndex);
INPUT(GPU_ATTR_SKIN_CLUSTER_INDEX, uvec4, inSkinClusterIndex);
INPUT(GPU_ATTR_SKIN_CLUSTER_WEIGHT, vec4, inSkinClusterWeight);
INPUT(GPU_ATTR_TEXCOORD1, vec4, inTexCoord1);
INPUT(GPU_ATTR_TEXCOORD2, vec4, inTexCoord2);

View file

@ -28,7 +28,7 @@ vec4 evalSkyboxLight(vec3 direction, float lod) {
<@endfunc@>
<@func declareEvalAmbientSpecularIrradiance(supportAmbientSphere, supportAmbientMap, supportIfAmbientMapElseAmbientSphere)@>
LAYOUT(binding=RENDER_UTILS_TEXTURE_AMBIENT_FRESNEL) uniform sampler2D ambientFresnelLUT;
TEXTURE(RENDER_UTILS_TEXTURE_AMBIENT_FRESNEL, sampler2D, ambientFresnelLUT);
vec3 fresnelSchlickAmbient(vec3 fresnelColor, float ndotd, float roughness) {
#if RENDER_UTILS_ENABLE_AMBIENT_FRESNEL_LUT

View file

@ -20,7 +20,7 @@
<$declarePackOcclusionDepth()$>
// the source occlusion texture
LAYOUT(binding=RENDER_UTILS_TEXTURE_SSAO_OCCLUSION) uniform sampler2D occlusionMap;
TEXTURE(RENDER_UTILS_TEXTURE_SSAO_OCCLUSION, sampler2D, occlusionMap);
LAYOUT(binding=RENDER_UTILS_BUFFER_SSAO_BLUR_PARAMS) uniform blurParamsBuffer {
AmbientOcclusionBlurParams blurParams;

View file

@ -18,7 +18,7 @@
<$declareAmbientOcclusion()$>
// the source occlusion texture
LAYOUT(binding=RENDER_UTILS_TEXTURE_SSAO_OCCLUSION) uniform sampler2DArray occlusionMaps;
TEXTURE(RENDER_UTILS_TEXTURE_SSAO_OCCLUSION, sampler2DArray, occlusionMaps);
layout(location=0) out vec4 outFragColor;

View file

@ -145,7 +145,7 @@ namespace vks {
}
const VkDevice& device;
VkPipelineCache pipelineCache;
VkPipelineCache pipelineCache{ VK_NULL_HANDLE }; // TODO: Add pipeline cache here
// TODO: is this initialized properly
VkRenderPass& renderPass { pipelineCreateInfo.renderPass };
VkPipelineLayout& layout { pipelineCreateInfo.layout };
@ -182,7 +182,7 @@ namespace vks {
VkPipeline create(const VkPipelineCache& cache) {
update();
VkPipeline vkPipeline;
vkCreateGraphicsPipelines(device, cache, 1, &pipelineCreateInfo, nullptr, &vkPipeline);
VK_CHECK_RESULT(vkCreateGraphicsPipelines(device, cache, 1, &pipelineCreateInfo, nullptr, &vkPipeline));
return vkPipeline;
}

View file

@ -256,7 +256,7 @@ void RenderThread::renderFrame(gpu::FramePointer& frame) {
submitInfo.signalSemaphoreCount = 1;
submitInfo.pSignalSemaphores = &renderComplete;
submitInfo.commandBufferCount = 1;
VkFenceCreateInfo fenceCI{};
VkFenceCreateInfo fenceCI = vks::initializers::fenceCreateInfo();
VkFence frameFence;
vkCreateFence(_vkcontext.device->logicalDevice, &fenceCI, nullptr, &frameFence);
vkQueueSubmit(_vkcontext.queue, 1, &submitInfo, frameFence);