| 1562 | } |
| 1563 | |
| 1564 | static uint32_t GetStd140BaseAlignment(dmGraphics::ShaderDesc::ShaderDataType type) |
| 1565 | { |
| 1566 | switch (type) |
| 1567 | { |
| 1568 | case ShaderDesc::SHADER_TYPE_FLOAT: |
| 1569 | case ShaderDesc::SHADER_TYPE_INT: |
| 1570 | case ShaderDesc::SHADER_TYPE_UINT: |
| 1571 | return 4; |
| 1572 | case ShaderDesc::SHADER_TYPE_VEC2: |
| 1573 | return 8; |
| 1574 | case ShaderDesc::SHADER_TYPE_VEC3: |
| 1575 | case ShaderDesc::SHADER_TYPE_VEC4: |
| 1576 | return 16; |
| 1577 | case ShaderDesc::SHADER_TYPE_MAT2: |
| 1578 | case ShaderDesc::SHADER_TYPE_MAT3: |
| 1579 | case ShaderDesc::SHADER_TYPE_MAT4: |
| 1580 | return 16; |
| 1581 | default: |
| 1582 | return 16; // conservative default for structs |
| 1583 | } |
| 1584 | } |
| 1585 | |
| 1586 | static uint32_t CalculateStd140MemberSize(const ShaderResourceTypeInfo* type_infos, const ShaderResourceMember& member, bool update_offsets) |
| 1587 | { |
no outgoing calls
no test coverage detected