refactor(RHI): 完成 Shader uniform 设置迁移到 CommandList
- 删除 RHIShader 的 OpenGL 风格 SetMat4/SetVec3/SetInt 等方法 - 添加 UniformInfo 结构体和 GetUniformInfos/GetUniformInfo 接口 - D3D12Shader 和 OpenGLShader 实现 CacheUniformInfos - RHICommandList 添加 SetUniform*/SetGlobal* 统一接口 - D3D12 实现 D3D12PipelineLayout 管理 root signature 映射 - 修复 D3D12CommandList::SetPipelineStateInternal 在 Reset 后未重新应用 root signature 的问题 - 更新 OpenGL 集成测试使用新的 SetUniform* API - 所有单元测试和集成测试通过 (8/8 integration tests)
This commit is contained in:
@@ -260,8 +260,7 @@ void OpenGLShader::CacheUniformInfos() const {
|
||||
info.offset = static_cast<uint32_t>(values[2]);
|
||||
info.arraySize = static_cast<uint32_t>(values[3]);
|
||||
|
||||
GLint size = 0;
|
||||
glGetActiveUniformsiv(m_program, 1, &i, GL_SIZE, &size);
|
||||
GLint size = values[3];
|
||||
switch (values[1]) {
|
||||
case GL_FLOAT: info.size = sizeof(GLfloat) * size; break;
|
||||
case GL_FLOAT_VEC2: info.size = sizeof(GLfloat) * 2 * size; break;
|
||||
|
||||
Reference in New Issue
Block a user