Переглянути джерело

shader: Fix disabled attribute default values

ameerj 5 роки тому
батько
коміт
56478bc9ac

+ 1 - 1
src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp

@@ -300,7 +300,7 @@ Id EmitGetAttribute(EmitContext& ctx, IR::Attribute attr, Id vertex) {
         const std::optional<AttrInfo> type{AttrTypes(ctx, index)};
         if (!type) {
             // Attribute is disabled
-            return ctx.Const(0.0f);
+            return ctx.Const(element == 3 ? 1.0f : 0.0f);
         }
         if (!ctx.runtime_info.previous_stage_stores.Generic(index, element)) {
             // Varying component is not written

+ 1 - 1
src/video_core/renderer_opengl/renderer_opengl.cpp

@@ -145,7 +145,7 @@ RendererOpenGL::RendererOpenGL(Core::TelemetrySession& telemetry_session_,
     GLint max_attribs{};
     glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &max_attribs);
     for (GLint attrib = 0; attrib < max_attribs; ++attrib) {
-        glVertexAttrib4f(attrib, 0.0f, 0.0f, 0.0f, 0.0f);
+        glVertexAttrib4f(attrib, 0.0f, 0.0f, 0.0f, 1.0f);
     }
     // Enable seamless cubemaps when per texture parameters are not available
     if (!GLAD_GL_ARB_seamless_cubemap_per_texture && !GLAD_GL_AMD_seamless_cubemap_per_texture) {