https://bugs.freedesktop.org/show_bug.cgi?id=29537
Summary: [glsl2] texture2DLod() should not be accepted by fragment programs Product: Mesa Version: git Platform: Other OS/Version: All Status: NEW Severity: normal Priority: medium Component: Mesa core AssignedTo: mesa-dev@lists.freedesktop.org ReportedBy: brian.e.p...@gmail.com Per the GLSL 1.10 and 1.20 specs: """ Section 8.7 Texture Lookup Functions The built-ins suffixed with “Lod” are allowed only in a vertex shader. For the “Lod” functions, lod is directly used as the level of detail. """ The glsl2 compiler errantly accepts fragment shaders that use the texture2DLod() function. This function was added as a frag shader feature through the GL_ATI_shader_texture_lod extension (undocumented? google it) but it's not standard GLSL. There are some built-in functions that only apply to vertex shaders or fragment shaders but I don't see how/where the glsl2 compiler makes any distinction. I'm attaching a piglit shaderrunner test for this but I don't see a way to indicate to shaderrunner that a shader should NOT compile. VMware Workstation checks to see if a shader using GL_ATI_shader_texture_lod and texture2DLod() compiles and tries to use it if successful. The glsl compiler allows it but we blow-up/fail later when we try to actually run the shader. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev