Bug 29490

Summary: [glsl2] Compiler generates reads from shader outputs
Product: Mesa Reporter: Ian Romanick <idr>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: git   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Ian Romanick 2010-08-10 12:48:05 UTC
GL_ARB_vertex_program and GL_ARB_fragment_program do not allow reads from shader outputs, and many pieces of hardware (e.g., r300 and i915) don't allow this either.  Because of that, Mesa and many drivers assume that there are no reads from shader outputs, and some drivers will assert otherwise.
Comment 1 Brian Paul 2010-08-10 14:02:17 UTC
See the _mesa_remove_output_reads() function.
Comment 2 Eric Anholt 2010-08-16 23:48:20 UTC
commit 83baa8a6c5541829003bbffe1d2b8cee5a0263fd
Author: Marek Olšák <maraeo@gmail.com>
Date:   Mon Aug 16 01:53:30 2010 +0200

    st/mesa: remove output register reads inside shaders
    
    This is a GLSL2 regression fix.

(I don't think there are any other candidates for this: 965 is fine with it, and radeon developers claimed to be OK with it).

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.