aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_program.c
Commit message (Collapse)AuthorAgeFilesLines
* i965: Fix Android build by removing relative includesChad Versace2011-08-301-1/+1
| | | | | | | | | | Replace each occurence of #include "../glsl/*.h" with #include "glsl/*.h" Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* i965: Set up allocation of a VS scratch space if required.Eric Anholt2011-08-161-0/+28
|
* i965: gl_fragment_program::FogOption is always GL_NONE so don't check itIan Romanick2011-04-211-5/+0
| | | | | | Reviewed-by: Eric Anholt <[email protected]> Acked-by: Corbin Simpson <[email protected]> Acked-by: Alex Deucher <[email protected]>
* intel: fix buildMarek Olšák2011-03-291-1/+1
| | | | | broken with e5c6a92a12b5cd7db205d72039f58d302b0be9d5 (mesa: implement clamping controls (ARB_color_buffer_float))
* mesa: implement clamping controls (ARB_color_buffer_float)Marek Olšák2011-03-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: Author: Marek Olšák <[email protected]> mesa: fix getteximage so that it doesn't clamp values mesa: update the compute_version function mesa: add display list support for ARB_color_buffer_float mesa: fix glGet query with GL_ALPHA_TEST_REF and ARB_color_buffer_float commit b2f6ddf907935b2594d2831ddab38cf57a1729ce Author: Luca Barbieri <[email protected]> Date: Tue Aug 31 16:50:57 2010 +0200 mesa: document known possible deviations from ARB_color_buffer_float commit 5458935be800c1b19d1c9d1569dc4fa30a97e8b8 Author: Luca Barbieri <[email protected]> Date: Tue Aug 24 21:54:56 2010 +0200 mesa: expose GL_ARB_color_buffer_float commit aef5c3c6be6edd076e955e37c80905bc447f8a82 Author: Luca Barbieri <[email protected]> Date: Thu Aug 26 18:12:34 2010 +0200 mesa, mesa/st: handle read color clamping properly (I'll squash the st/mesa part to a separate commit. -Marek) We set IMAGE_CLAMP_BIT in the caller based on _ClampReadColor, where the operation mandates it. TODO: did I get the set of operations mandating it right? commit 3a9cb5e59b676b6148c50907ce6eef5441677e36 Author: Luca Barbieri <[email protected]> Date: Thu Aug 26 18:09:41 2010 +0200 mesa: respect color clamping in texenv programs (v2) Changes in v2: - Fix attributes other than vertex color sometimes getting clamped commit de26f9e47e886e176aab6e5a2c3d4481efb64362 Author: Luca Barbieri <[email protected]> Date: Thu Aug 26 18:05:53 2010 +0200 mesa: restore color clamps on glPopAttrib commit a55ac3c300c189616627c05d924c40a8b55bfafa Author: Luca Barbieri <[email protected]> Date: Thu Aug 26 18:04:26 2010 +0200 mesa: clamp color queries if and only if fragment clamping is enabled commit 9940a3e31c2fb76cc3d28b15ea78dde369825107 Author: Luca Barbieri <[email protected]> Date: Wed Aug 25 00:00:16 2010 +0200 mesa: introduce derived _ClampXxxColor state resolving FIXED_ONLY To do this, we make ClampColor call FLUSH_VERTICES with the appropriate _NEW flag. We introduce _NEW_FRAG_CLAMP since fragment clamping has wide-ranging effects, despite being in the Color attrib group. This may be easily changed by s/_NEW_FRAG_CLAMP/_NEW_COLOR/g commit 6244c446e3beed5473b4e811d10787e4019f59d6 Author: Luca Barbieri <[email protected]> Date: Thu Aug 26 17:58:24 2010 +0200 mesa: add unclamped color parameters
* mesa: Remove the CompileShader driver hook; it's just a no-op.Kenneth Graunke2011-03-171-1/+0
|
* Convert everything from the talloc API to the ralloc API.Kenneth Graunke2011-01-311-2/+2
|
* i965: Nuke brw_wm_glsl.c.Eric Anholt2010-12-061-1/+0
| | | | | | | | | | It was only used for gen6 fragment programs (not GLSL shaders) at this point, and it was clearly unsuited to the task -- missing opcodes, corrupted texturing, and assertion failures hit various applications of all sorts. It was easier to patch up the non-glsl for remaining gen6 changes than to make brw_wm_glsl.c complete. Bug #30530
* glsl: Slightly change the semantic of _LinkedShadersIan Romanick2010-10-141-9/+3
| | | | | | | | | | | | | | | Previously _LinkedShaders was a compact array of the linked shaders for each shader stage. Now it is arranged such that each slot, indexed by the MESA_SHADER_* defines, refers to a specific shader stage. As a result, some slots will be NULL. This makes things a little more complex in the linker, but it simplifies things in other places. As a side effect _NumLinkedShaders is removed. NOTE: This may be a candidate for the 7.9 branch. If there are other patches that get backported to 7.9 that use _LinkedShader, this patch should be cherry picked also.
* Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg2010-10-131-6/+6
|
* i965: When using the new FS backend, don't validate the Mesa IR version.Eric Anholt2010-09-071-0/+16
|
* i965: Fix up and actually enable the NewShader and NewShaderProgram hooks.Eric Anholt2010-08-261-0/+2
|
* i965: Start building 965 FS backend.Eric Anholt2010-08-261-0/+3
|
* i965: Add support for destination RelAddr writes in the VS.Eric Anholt2010-08-261-2/+3
| | | | Fixes: glsl-vs-varying-array
* i965: Fix the test for variable indexing of shader inputs.Eric Anholt2010-08-261-5/+11
| | | | | | Shader inputs appear in source registers, not dst registers. Catches unsupported shaders in glsl-fs-varying-array and Humus RaytracedShadows.
* i965: Throw a link error when we see a "return" in main().Eric Anholt2010-08-171-0/+8
| | | | | We'll need to use the HALT instruction to do this right, like returns from other functions.
* ir_to_mesa: Respect the driver if it rejects a shader.Eric Anholt2010-07-281-4/+2
|
* i965: Cleanly fail programs with unsupported array access.Eric Anholt2010-07-231-1/+28
| | | | | This should be more useful for developers and for bug triaging than just generating wrong code.
* Merge branch 'shader-file-reorg'Brian Paul2010-06-231-4/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Move all GL entrypoint functions and files into src/mesa/main/ This includes the ARB vp/vp, NV vp/fp, ATI fragshader and GLSL bits that were in src/mesa/shader/ 2. Move src/mesa/shader/slang/ to src/mesa/slang/ to reduce the tree depth 3. Rename src/mesa/shader/ to src/mesa/program/ since all the remaining files are concerned with GPU programs. 4. Misc code refactoring. In particular, I got rid of most of the GLSL-related ctx->Driver hook functions. None of the drivers used them. Conflicts: src/mesa/drivers/dri/i965/brw_context.c
| * mesa: rename src/mesa/shader/ to src/mesa/program/Brian Paul2010-06-101-4/+4
| |
* | i965: Split constant buffer setup from its surface state/binding state.Eric Anholt2010-06-111-14/+0
|/ | | | This was bothering me when redoing the binding tables.
* intel: Change dri_bo_* to drm_intel_bo* to consistently use new API.Eric Anholt2010-06-081-2/+2
| | | | | The slightly less mechanical change of converting the emit_reloc calls will follow.
* i965: Reject shaders with uninlined function calls instead of hanging.Eric Anholt2010-04-291-1/+33
| | | | | | Most of the failure from using uninlined function calls ends up being just bad rendering, but nested function calls in the VS currently hang the GPU, so reject them and explain why.
* i965: Fix up VP constbuf leak on program delete.Eric Anholt2010-03-091-3/+11
|
* mesa: change ctx->Driver.ProgramStringNotify() to return GLbooleanBrian Paul2010-02-041-3/+7
| | | | | | | | | | | | | GL_TRUE indicates that the driver accepts the program. GL_FALSE indicates the program can't be compiled/translated by the driver for some reason (too many resources used, etc). Propogate this result up to the GL API: set GL_INVALID_OPERATION error if glProgramString() was called. Set shader program link status to GL_FALSE if glLinkProgram() was called. At this point, drivers still don't do any program checking and always return GL_TRUE.
* i965: Remove unnecessary headers.Vinson Lee2010-01-221-1/+0
|
* i965: remove unused varBrian Paul2009-04-101-1/+0
|
* i965: re-org of some of the new constant buffer codeBrian Paul2009-04-091-18/+0
| | | | Plus, begin the new code for vertex shader const buffers.
* i965: free shader's constant buffer in brwDeleteProgram()Brian Paul2009-04-091-0/+6
| | | | Fixes mem leak observed with texcombine test.
* i965: check-point commit of new constant buffer supportBrian Paul2009-04-031-0/+20
| | | | | | | | | | | | | | | | Currently, shader constants are stored in the GRF (loaded from the CURBE prior to shader execution). This severly limits the number of constants and temps that we can support. This new code will support (practically) unlimited size constant buffers and free up registers in the GRF. We allocate a new buffer object for the constants and read them with "Read" messages/instructions. When only a small number of constants are used, we can still use the old method. The code works for fragment shaders only (and is actually disabled) for now. Need to do the same thing for vertex shaders and need to add the necessary code-gen to fetch the constants which are referenced by the shader instructions.
* i965: use new cast wrappersBrian Paul2009-03-101-4/+9
|
* i965: avoid unnecessary calls to brw_wm_is_glsl()Brian Paul2009-03-061-0/+2
| | | | | | | | | This function scans the shader to see if it has any GLSL features like conditionals and loops. Calling this during state validation is expensive. Just call it when the shader is given to the driver and save the result. There's some new/temporary assertions to be sure we don't get out of sync on this.
* i965: var renaming, clean-upBrian Paul2009-02-201-13/+11
|
* i965: fix broken ARB fp fog optionsBrian Paul2009-01-121-0/+6
| | | | | | | Just call _mesa_append_fog_code() if the fragment program's FogOption is not GL_NONE. This allows us to remove some unnecessary i965 fog code. Note, the arbfplight.c demo can be used to test this (see DO_FRAGMENT_FOG).
* i965: Fix failure to upload new constant data when changing programs.Eric Anholt2008-12-031-2/+0
| | | | | | | | | | | | This is fallout from the ffvertex_prog.c work. It doesn't call ProgramStringNotify, so we don't set param_state, so we wouldn't track when VP parameters changed, and constants wouldn't get uploaded. Instead, remove param_state entirely and just use the real value that we want to be tracking. Fixes rendering in openarena since BRW_NEW_BATCH got disentangled from BRW_NEW_INDICES. Bug #18822.
* [intel] Warnings fixes.Eric Anholt2008-05-021-0/+1
|
* [965] Add MVP code for position invariant vertex programs.Michal Wajdeczko2008-03-211-0/+3
| | | | This fixes the arbvptorus demo.
* [965] Remove AUB file support.Eric Anholt2007-09-271-1/+0
| | | | | This code existed to dump logs of hardware access to be replayed in simulation. Since we have real hardware now, it's not really needed.
* Fix-up #includes to remove some -I options.Brian2007-09-111-5/+5
| | | | eg: #include "shader/program.h" and remove -I$(TOP)/src/mesa/program
* Fix compile errorZou Nan hai2007-03-271-1/+1
|
* fix for bug#10339Xiang, Haihao2007-03-221-2/+2
| | | | StateFlags has been updated in _mesa_add_state_reference
* Add Intel i965G/Q DRI driver.Eric Anholt2006-08-091-0/+147
This driver comes from Tungsten Graphics, with a few further modifications by Intel.