mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-09 01:22:21 +02:00
Vulkan shader fixes
This commit is contained in:
parent
968392f2b9
commit
c0351af854
8 changed files with 9 additions and 10 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue