This commit is contained in:
Branimir Karadžić
2018-05-09 13:00:27 -07:00
parent 0d502588d0
commit 270b02416e

View File

@@ -1769,12 +1769,13 @@ namespace bgfx { namespace mtl
}
RenderPipelineState getPipelineState(
uint64_t _state
uint64_t _state
, uint32_t _rgba
, FrameBufferHandle _fbh
, VertexDeclHandle _declHandle
, uint8_t _numStreams
, const VertexDecl** _vertexDecls
, uint16_t _programIdx
, uint16_t _numInstanceData
, uint8_t _numInstanceData
)
{
_state &= (0
@@ -1802,7 +1803,7 @@ namespace bgfx { namespace mtl
FrameBufferMtl& frameBuffer = m_frameBuffers[_fbh.idx];
murmur.add(frameBuffer.m_pixelFormatHash);
}
murmur.add(m_vertexDecls[_declHandle.idx].m_hash);
murmur.add(_vertexDecls[0]->m_hash);
murmur.add(_numInstanceData);
uint32_t hash = murmur.end();
@@ -1921,12 +1922,12 @@ namespace bgfx { namespace mtl
pd.vertexFunction = program.m_vsh->m_function;
pd.fragmentFunction = program.m_fsh != NULL ? program.m_fsh->m_function : NULL;
if (isValid(_declHandle) )
if (0 < _numStreams)
{
VertexDescriptor vertexDesc = m_vertexDescriptor;
reset(vertexDesc);
const VertexDecl& vertexDecl = m_vertexDecls[_declHandle.idx];
const VertexDecl& vertexDecl = *_vertexDecls[0];
for (uint32_t ii = 0; Attrib::Count != program.m_used[ii]; ++ii)
{
Attrib::Enum attr = Attrib::Enum(program.m_used[ii]);
@@ -2120,6 +2121,26 @@ namespace bgfx { namespace mtl
return pso;
}
RenderPipelineState getPipelineState(
uint64_t _state
, uint32_t _rgba
, FrameBufferHandle _fbh
, VertexDeclHandle _declHandle
, uint16_t _programIdx
, uint16_t _numInstanceData
)
{
const VertexDecl* decl = &m_vertexDecls[_declHandle.idx];
return getPipelineState(
_state
, _rgba
, _fbh
, 1
, &decl
, _programIdx
, _numInstanceData
);
}
SamplerState getSamplerState(uint32_t _flags)
{