Vulkan cleanup and minor bug fixes (#2129)
This commit is contained in:
parent
9e0327401a
commit
f9b1a9f5d4
@ -7,5 +7,8 @@
|
||||
|
||||
void main()
|
||||
{
|
||||
// Vulkan does not like shader writing to a target that is not attached
|
||||
#ifndef BGFX_SHADER_LANGUAGE_SPIRV
|
||||
gl_FragColor = vec4_splat(0.0);
|
||||
#endif
|
||||
}
|
||||
|
@ -2804,9 +2804,6 @@ VK_IMPORT_DEVICE
|
||||
wds[2].pBufferInfo = NULL;
|
||||
wds[2].pTexelBufferView = NULL;
|
||||
|
||||
m_vsChanges = 0;
|
||||
m_fsChanges = 0;
|
||||
|
||||
vkUpdateDescriptorSets(m_device, 3, wds, 0, NULL);
|
||||
vkCmdBindDescriptorSets(
|
||||
m_commandBuffer
|
||||
@ -3013,16 +3010,13 @@ VK_IMPORT_DEVICE
|
||||
|
||||
void setShaderUniform(uint8_t _flags, uint32_t _regIndex, const void* _val, uint32_t _numRegs)
|
||||
{
|
||||
BX_UNUSED(_flags, _regIndex, _val, _numRegs);
|
||||
if (_flags&BGFX_UNIFORM_FRAGMENTBIT)
|
||||
if (_flags & BGFX_UNIFORM_FRAGMENTBIT)
|
||||
{
|
||||
bx::memCopy(&m_fsScratch[_regIndex], _val, _numRegs*16);
|
||||
m_fsChanges += _numRegs;
|
||||
}
|
||||
else
|
||||
{
|
||||
bx::memCopy(&m_vsScratch[_regIndex], _val, _numRegs*16);
|
||||
m_vsChanges += _numRegs;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3070,9 +3064,6 @@ VK_IMPORT_DEVICE
|
||||
// , NULL
|
||||
// );
|
||||
// }
|
||||
//
|
||||
// m_vsChanges = 0;
|
||||
// m_fsChanges = 0;
|
||||
// }
|
||||
|
||||
void setFrameBuffer(FrameBufferHandle _fbh, bool _msaa = true)
|
||||
@ -3604,7 +3595,10 @@ VK_IMPORT_DEVICE
|
||||
murmur.add(_stencil);
|
||||
murmur.add(program.m_vsh->m_hash);
|
||||
murmur.add(program.m_vsh->m_attrMask, sizeof(program.m_vsh->m_attrMask) );
|
||||
murmur.add(program.m_fsh->m_hash);
|
||||
if (NULL != program.m_fsh)
|
||||
{
|
||||
murmur.add(program.m_fsh->m_hash);
|
||||
}
|
||||
for (uint8_t ii = 0; ii < _numStreams; ++ii)
|
||||
{
|
||||
murmur.add(_layouts[ii]->m_hash);
|
||||
@ -3670,13 +3664,17 @@ VK_IMPORT_DEVICE
|
||||
shaderStages[0].module = program.m_vsh->m_module;
|
||||
shaderStages[0].pName = "main";
|
||||
shaderStages[0].pSpecializationInfo = NULL;
|
||||
shaderStages[1].sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
|
||||
shaderStages[1].pNext = NULL;
|
||||
shaderStages[1].flags = 0;
|
||||
shaderStages[1].stage = VK_SHADER_STAGE_FRAGMENT_BIT;
|
||||
shaderStages[1].module = program.m_fsh->m_module;
|
||||
shaderStages[1].pName = "main";
|
||||
shaderStages[1].pSpecializationInfo = NULL;
|
||||
|
||||
if (NULL != program.m_fsh)
|
||||
{
|
||||
shaderStages[1].sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
|
||||
shaderStages[1].pNext = NULL;
|
||||
shaderStages[1].flags = 0;
|
||||
shaderStages[1].stage = VK_SHADER_STAGE_FRAGMENT_BIT;
|
||||
shaderStages[1].module = program.m_fsh->m_module;
|
||||
shaderStages[1].pName = "main";
|
||||
shaderStages[1].pSpecializationInfo = NULL;
|
||||
}
|
||||
|
||||
VkPipelineViewportStateCreateInfo viewportState;
|
||||
viewportState.sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO;
|
||||
@ -3702,7 +3700,7 @@ VK_IMPORT_DEVICE
|
||||
graphicsPipeline.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
|
||||
graphicsPipeline.pNext = NULL;
|
||||
graphicsPipeline.flags = 0;
|
||||
graphicsPipeline.stageCount = BX_COUNTOF(shaderStages);
|
||||
graphicsPipeline.stageCount = NULL == program.m_fsh ? 1 : 2;
|
||||
graphicsPipeline.pStages = shaderStages;
|
||||
graphicsPipeline.pVertexInputState = &vertexInputState;
|
||||
graphicsPipeline.pInputAssemblyState = &inputAssemblyState;
|
||||
@ -3935,7 +3933,7 @@ VK_IMPORT_DEVICE
|
||||
if (0 < total)
|
||||
{
|
||||
uint32_t vsUniformBinding = program.m_vsh->m_uniformBinding;
|
||||
uint32_t fsUniformBinding = program.m_fsh ? program.m_fsh->m_uniformBinding : 0;
|
||||
uint32_t fsUniformBinding = NULL != program.m_fsh ? program.m_fsh->m_uniformBinding : 0;
|
||||
|
||||
if (vsize > 0)
|
||||
{
|
||||
@ -4080,7 +4078,7 @@ VK_IMPORT_DEVICE
|
||||
if (isValid(fbh) )
|
||||
{
|
||||
const FrameBufferVK& fb = m_frameBuffers[fbh.idx];
|
||||
numMrt = bx::max((uint8_t)1, fb.m_num);
|
||||
numMrt = fb.m_num;
|
||||
}
|
||||
|
||||
VkClearAttachment attachments[BGFX_CONFIG_MAX_FRAME_BUFFERS];
|
||||
@ -4305,8 +4303,6 @@ VK_IMPORT_DEVICE
|
||||
VkFence m_fence;
|
||||
VkRenderPass m_renderPass;
|
||||
VkDescriptorPool m_descriptorPool;
|
||||
// VkDescriptorSetLayout m_descriptorSetLayout;
|
||||
// VkPipelineLayout m_pipelineLayout;
|
||||
VkPipelineCache m_pipelineCache;
|
||||
VkCommandPool m_commandPool;
|
||||
|
||||
@ -4338,8 +4334,6 @@ VK_IMPORT_DEVICE
|
||||
|
||||
uint8_t m_fsScratch[64<<10];
|
||||
uint8_t m_vsScratch[64<<10];
|
||||
uint32_t m_fsChanges;
|
||||
uint32_t m_vsChanges;
|
||||
|
||||
uint32_t m_backBufferColorIdx;
|
||||
FrameBufferHandle m_fbh;
|
||||
@ -6113,9 +6107,6 @@ VK_DESTROY
|
||||
|
||||
offset = scratchBuffer.m_pos;
|
||||
|
||||
m_vsChanges = 0;
|
||||
m_fsChanges = 0;
|
||||
|
||||
bx::memCopy(&scratchBuffer.m_data[scratchBuffer.m_pos], m_vsScratch, program.m_vsh->m_size);
|
||||
|
||||
scratchBuffer.m_pos += vsize;
|
||||
@ -6425,8 +6416,6 @@ VK_DESTROY
|
||||
bx::memCopy(&scratchBuffer.m_data[scratchBuffer.m_pos + vsize], m_fsScratch, program.m_fsh->m_size);
|
||||
}
|
||||
|
||||
m_vsChanges = 0;
|
||||
m_fsChanges = 0;
|
||||
scratchBuffer.m_pos += total;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user