6792969cbc0d233942b15285e0fa84e6602733c2 |
|
17-May-2012 |
Brian Paul <brianp@vmware.com> |
st/mesa: added st_print_current_vertex_program(), for debugging
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
732f69c94e17aae8dae98cdc84fdb232fdda2484 |
|
23-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
st/mesa: move fragment shader tgsi tokens into st_fp_variant The TGSI code may vary depending on the clamp_color bit.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
bc1c8369384b5e16547c5bf9728aa78f8dfd66cc |
|
23-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
st/mesa: do vertex and fragment color clamping in shaders For ARB_color_buffer_float. Most hardware can't do it and st/mesa is the perfect place for a fallback. The exceptions are: - r500 (vertex clamp only) - nv50 (both) - nvc0 (both) - softpipe (both) We also have to take into account that r300 can do CLAMPED vertex colors only, while r600 can do UNCLAMPED vertex colors only. The difference can be expressed with the two new CAPs.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
ffb7d02154186402f64e0b628998485309774bb8 |
|
07-Aug-2011 |
Bryan Cain <bryancain3@gmail.com> |
st/mesa: inline st_prepare_fragment_program in st_translate_fragment_program This reverts an unnecessary part of commit 4683529048ee and fixes misrendering and an assertion failure in Cogs. Fixes freedesktop.org bug 39888. Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
f379d8f73063a4c4d6cf379318c6b37118d46bfa |
|
26-Apr-2011 |
Bryan Cain <bryancain3@gmail.com> |
st/mesa: Add a GLSL IR to TGSI translator. It is still a work in progress at this point, but it produces working and reasonably well-optimized code. Originally based on ir_to_mesa and st_mesa_to_tgsi, but does not directly use Mesa IR instructions in TGSI generation, instead generating TGSI from the intermediate class glsl_to_tgsi_instruction. It also has new optimization passes to replace _mesa_optimize_program.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
aa5ba96d294698809186cc4b59034abbd3076812 |
|
16-Dec-2010 |
Brian Paul <brianp@vmware.com> |
st/mesa: s/varient/variant
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
68c41a25b4adf77886cc915d47af5e01723142f8 |
|
14-Dec-2010 |
Brian Paul <brianp@vmware.com> |
st/mesa: rename the varient release functions
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
b830b62a47dec70640062c488cbebd2c8ac487f9 |
|
14-Dec-2010 |
Brian Paul <brianp@vmware.com> |
st/mesa: program struct comments
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
6c669d0c0766c27c58dd3ea7c3bd18b47a922aea |
|
14-Dec-2010 |
Brian Paul <brianp@vmware.com> |
st/mesa: rename variable
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
3d203b610045980853d26370ee21fb2ef4aed17e |
|
14-Dec-2010 |
Brian Paul <brianp@vmware.com> |
Squashed commit of the following (st-mesa-per-context-shaders branch): commit 4f106f44a32eaddb6cf3fea6ba5ee9787bff609a Author: Brian Paul <brianp@vmware.com> Date: Mon Dec 13 14:06:08 2010 -0700 st/mesa: reorganize vertex program translation code Now it looks like the fragment and geometry program code. Also remove the serial number fields from programs. It was used to determine when new translations were needed. Now the variant key is used for that. And the st_program_string_notify() callback removes all variants when the program's code is changed. commit e12d6791c5e4bff60bb2e6c04414b1b4d1325f3e Author: Brian Paul <brianp@vmware.com> Date: Mon Dec 13 13:38:12 2010 -0700 st/mesa: implement geometry shader varients Only needed in order to support per-context gallium shaders. commit c5751c673644808ab069259a852f24c4c0e92b9d Author: Brian Paul <brianp@vmware.com> Date: Sun Dec 12 15:28:57 2010 -0700 st/mesa: restore glDraw/CopyPixels using new fragment program variants Clean up the logic for fragment programs for glDraw/CopyPixels. We now generate fragment program variants for glDraw/CopyPixels as needed which do texture sampling, pixel scale/bias, pixelmap lookups, etc. commit 7b0bb99bab6547f503a0176b5c0aef1482b02c97 Author: Brian Paul <brianp@vmware.com> Date: Fri Dec 10 17:03:23 2010 -0700 st/mesa: checkpoint: implement fragment program variants The fragment programs variants are per-context, as the vertex programs. NOTE: glDrawPixels is totally broken at this point. commit 2cc926183f957f8abac18d71276dd5bbd1f27be2 Author: Brian Paul <brianp@vmware.com> Date: Fri Dec 10 14:59:32 2010 -0700 st/mesa: make vertex shader variants per-context Gallium shaders are per-context but OpenGL shaders aren't. So we need to make a different variant for each context. During context tear-down we need to walk over all shaders/programs and free all variants for the context being destroyed.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
f9995b30756140724f41daf963fa06167912be7f |
|
12-Oct-2010 |
Kristian Høgsberg <krh@bitplanet.net> |
Drop GLcontext typedef and use struct gl_context instead
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
f717fd25cc44d7dda5a49dc05337c7ee7c8d2d2f |
|
06-Aug-2010 |
Vinson Lee <vlee@vmware.com> |
st/mesa: Clean up header file inclusion in st_program.h. st_program.h Remove p_shader_tokens.h Include st_context.h for st_context symbol. Include p_state.h for PIPE_MAX_SHADER_INPUTS symbol. Remove unnecessary forward declarations. st_cb_bitmap.c st_cb_clear.c Include p_shader_tokens.h now that st_program.h doesn't include it.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
da7bd6a90e1fee5c16327338fd251c0f6be34e36 |
|
28-Jun-2010 |
Zack Rusin <zackr@vmware.com> |
mesa: initial support for ARB_geometry_shader4 laying down the foundation for everything and implementing most of the stuff. linking, gl_VerticesIn and multidimensional inputs are left.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
ec2b92f98c2e7f161521b447cc1d9a36bce3707c |
|
11-Jun-2010 |
Brian Paul <brianp@vmware.com> |
mesa: rename src/mesa/shader/ to src/mesa/program/
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
e90bc2e2ce5b8d835d7dcd069071f71fa032ebe2 |
|
15-Feb-2010 |
Brian Paul <brianp@vmware.com> |
st/mesa: move per-fragment shader fields to local vars
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
b9b4e7724e5ae80121a053ca66cee73942cc16b7 |
|
12-Feb-2010 |
Brian Paul <brianp@vmware.com> |
st/mesa: rename state -> tgsi, updated comments
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
e1906ae98ef4d8f153553056552c06ac4292d1f5 |
|
01-Feb-2010 |
Keith Whitwell <keithw@vmware.com> |
st/mesa: remove duplicate calculation of fp input mapping This was being calculated the same way in two different places. Now just do it in st_translate_fragment_program().
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
d51b04320d79234f86fc2b881dab33e646400e76 |
|
01-Feb-2010 |
Keith Whitwell <keithw@vmware.com> |
st/mesa: remove dead stfp input_map array Was being calculated and not used. Also was probably incorrect...
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
50caff5675888c0063c73fa64b88129db7aa11dd |
|
16-Dec-2009 |
Roland Scheidegger <sroland@vmware.com> |
gallium: edgeflags change fixes use correct number of vertex inputs fix not running pipeline in case of edgeflags changes to mesa to tgsi translation still very broken
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
a08e348a84f57ed5e8bf5888f1ce13934d2ce8fa |
|
09-Dec-2009 |
Keith Whitwell <keithw@vmware.com> |
gallium: first steps to treat edgeflags as regular vertex element The idea here is to eliminate the set_edgeflags() call in pipe_context by treating edgeflags as a regular vertex element. Edgeflags provoke special treatment in hardware, which means we need to label them in some way, in this case we'll be passing them through the vertex shader and labelling the vertex shader output with a new TGSI semantic (TGSI_SEMANTIC_EDGEFLAG).
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
07fafc7c9346aa260829603bf3188596481e9e62 |
|
15-Nov-2009 |
Keith Whitwell <keithw@vmware.com> |
mesa/st: refactor vertex and fragment shader translation Translate vertex shaders independently of fragment shaders. Previously tried to make fragment shader semantic indexes always start at zero and exclude holes. This was unnecessary but meant that vertex shader translation had to be adjusted to take this into account. Now use a fixed scheme for labelling special FS input semantics (color, etc), and another fixed scheme for the generics. With this, vertex shaders can be translated independently of the bound fragment shader, assuming mesa has done its own job and ensured that the vertex shader provides at least the inputs the fragment shader is looking for. The state-tracker didn't attempt to do anything about this previously, so it shouldn't be needed now.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
678f80b347801d925c07a774faee1ed3f716de15 |
|
06-Nov-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: added st_print_shaders() function to help w/ debugging
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
e3f3e22cf7e9af4c5416d37329b7b8ee50f0cfcb |
|
19-Aug-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix vertex program output translation/mapping bug In some cases, the vertex program output's semantic info didn't match up with the fragment program's input semantic info. This info is now explicitly passed into the st_translate_fragment_program() function.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
00eb309c31692d29b01568b0b45f5066928b9107 |
|
03-Jul-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: move, increase ST_MAX_SHADER_TOKENS
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
a56a59ce74b7f18f25a13992d2a2c1ae7cf973ce |
|
07-May-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: implement full reference counting for vertex/fragment programs Use _mesa_reference_vert/fragprog() wherever we assign program pointers. Fixes a memory corruption bug found with glean/api2 test. Another memory bug involving shaders yet to be fixed... Picked from gallium-0.1
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
7e4bc84dfc6c05cea3d6fc52173708ddeb33cf45 |
|
02-May-2008 |
Alan Hourihane <alanh@tungstengraphics.com> |
inline -> INLINE
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
33f3938d2d6340b31d758c96bd35f858c6c8267d |
|
23-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: fix some bitmap frag shader issues If texturing happens to be enabled when glBitmap() is called, need to be careful about choosing a sampler unit, etc.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
b456f1374fc958e53efc80ee38ef343f580c1d6b |
|
22-Apr-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: st_translate_fragment_program() is void now The return value was never used.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
01dfa6cde157321f565bab949f23f367ed20fa0e |
|
21-Apr-2008 |
Keith Whitwell <keith@tungstengraphics.com> |
use cso fs/vs handle functions
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
22a3d022542fed267d48b48a44e10226d55c8afd |
|
24-Mar-2008 |
Brian Paul <brian.paul@tungstengraphics.com> |
gallium: free bitmap fragment shaders, misc clean-up
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
fa9e7e9a8debb68611909ac2ffab527c6c39a3e5 |
|
13-Mar-2008 |
Brian Paul <brianp@kemper.freedesktop.org> |
gallium: remove semantic info from pipe_shader_state Brian's patch to clean up the shader interfaces.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
339e7ec6805e6de8794514c0a935081b5d36d38f |
|
12-Mar-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: rework CSO-related code in state tracker Use the code in cso_context.c rather than st_cache.c. Basically, binding of state objects now goes through the CSO module. But Vertex/fragment shaders go through pipe->bind_fs/vs_state() since they're not cached by the CSO module at this time. Also, update softpipe driver to handle NULL state objects in various places. This happens during context destruction. May need to update other drivers...
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
ecd50ef58b034e604ff6b2fedbb0815953e510ea |
|
26-Feb-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: remove input_map[] from pipe_shader_state
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
f430d95a36d55141cd9ef911aab70364ce4a4108 |
|
18-Feb-2008 |
José Fonseca <jrfonseca@tungstengraphics.com> |
Use gallium's rtasm module.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
9677336845511be4852520d2e50f91f1df362f58 |
|
13-Feb-2008 |
Brian <brian.paul@tungstengraphics.com> |
gallium: rename st_fragment_program's fs field to cso to match st_vertex_program
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
ac95fee4fffee77bb7bd798d094ed2e3a7c4019b |
|
15-Jan-2008 |
Brian <brian.paul@tungstengraphics.com> |
Fix problems with vertex shaders and the private draw module. The CSO returned by pipe->create_vs_state() can't be passed to the private draw module. That was causing glRasterPos to blow up. Add a 'draw_shader' field to st_vertex_program for use with the private draw module. Change st_context->state.vs type from cso_vertex_shader to st_vertex_program.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
abd5e8e41d54f7f491f91af9354f19c8d24d3572 |
|
23-Nov-2007 |
Michal Krol <michal@tungstengraphics.com> |
gallium: reorg tgsi directories.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
fa7a5898761fc106c9dbef6f640ce4654eae5136 |
|
10-Oct-2007 |
Brian <brian.paul@tungstengraphics.com> |
Size of input_to_index array should be VERT_ATTRIB_MAX. This fixes an out of bounds array write that was causing the glsl/bump demo to render incorrectly.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
344464bf2e4e151968cfb101c2477e440508b1f0 |
|
03-Oct-2007 |
Michel Dänzer <michel@tungstengraphics.com> |
Track fragment and vertex shader code generation via pipe shader state objects. Unfortunately, the generated fragment shader code is effectively unusable until it handles quad->mask.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
636480cc9c7836daf879cb45644900922cf31f47 |
|
28-Sep-2007 |
Brian <brian.paul@tungstengraphics.com> |
Instead of linked program pairs, keep a list of vertex programs translated for each fragment program.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
a1a989f0be8dc34082b52bb3b3a6eacb36d9e75e |
|
28-Sep-2007 |
Zack Rusin <zack@tungstengraphics.com> |
Redoing the way we handle vertex shaders for the draw module.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
901577e07fcab0cf90a272fee900cb0831ae84c3 |
|
28-Sep-2007 |
Zack Rusin <zack@tungstengraphics.com> |
Revert "Redoing the way we handle vertex shaders for the draw module." This reverts commit 6dcfddb8e2ec2bfb6187b912807fa65f28da2c5e.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
6dcfddb8e2ec2bfb6187b912807fa65f28da2c5e |
|
28-Sep-2007 |
Zack Rusin <zack@tungstengraphics.com> |
Redoing the way we handle vertex shaders for the draw module.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
65e3af51efc9d688ef8face0a44429a90c5dd4c9 |
|
26-Sep-2007 |
Keith Whitwell <keith@tungstengraphics.com> |
Enable codegen based whenever __i386__ is defined.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
40c543eb71368c646259afb87d5c76551f6b45b7 |
|
25-Sep-2007 |
Brian <brian.paul@tungstengraphics.com> |
Translate mesa vertex/fragment programs to TGSI programs at same time to do proper linking. Previously, programs were translated independently during validation. The problem is the translation to TGSI format, which packs shader input/outputs into continuous slots, depends on which vertex program is being paired with which fragment shader. Now, we look at the outputs of the vertex program in conjunction with the inputs of the fragment shader to be sure the attributes match up correctly. The new 'linked_program_pair' class keeps track of the associations between vertex and fragment shaders. It's also the place where the TGSI tokens are kept since they're no longer per-program state but per-linkage. Still a few loose ends, like implementing some kind of hash/lookup table for linked_program_pairs.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
c0dd02219d47f45ce469abbef8044431f6d85d0a |
|
24-Sep-2007 |
michal <michal@michal-laptop.(none)> |
Enable SSE2 for FS.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
086734502a614e7778533018846ee66a66df9821 |
|
20-Sep-2007 |
Brian <brian.paul@tungstengraphics.com> |
Checkpoint: vertex attribute clean-up. Remove/disable the attrib/slot mapping arrays in a few places. Work in progress...
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
daf5b0f41baa50951e7c2f9ea5cd90b119085a7f |
|
20-Sep-2007 |
Zack Rusin <zack@tungstengraphics.com> |
Switch fragment/vertex shaders to the new caching semantics. Allow driver custom allocation within cached objects. The shaders are currently twiced (by cso layer and by the program itself).
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
37cf13ed9a429c755f121daa1776b1b30a985ab3 |
|
20-Sep-2007 |
Brian <brian.paul@tungstengraphics.com> |
Checkpoint: replacement of TGSI_ATTRIB_x tokens with input/output semantics. TGSI_ATTRIB_x tokens still present and used in a few places. Expanded set of TGSI_SEMANTIC_x tokens for describing the meaning of inputs/outputs. These tokens are in a crude state ATM. Lots of #if 0 / disabled code to be removed yet, etc... Softpipe and i915 drivers should be in working condition but not heavily tested.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
bb611c5f1f6aec7ac51d4fa3301422b47f6de795 |
|
19-Sep-2007 |
Brian <brian.paul@tungstengraphics.com> |
Checkpoint: rework shader input/output register mapping. This is a step toward removing TGSI_ATTRIB_ tokens. Basically, when translating Mesa programs to TGSI programs, pass in input and output register re-maps, plus interpolation info. There's some known breakage (cubemap.c) so more to be done...
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
ccd63b54cfbb6bb241d55f7ac95afcd14819f469 |
|
18-Sep-2007 |
Zack Rusin <zack@tungstengraphics.com> |
Convert shader to an immutable state object.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
07d97e80e616d9fdc437d3b41055c347d5c54932 |
|
24-Aug-2007 |
Keith Whitwell <keith@tungstengraphics.com> |
checkpoint in constant tracking rework
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
4fd7bc00f06a98e1db2ad886a13566f19895e3c0 |
|
24-Aug-2007 |
michal <michal@michal-laptop.(none)> |
Hook-up SSE2 to VS.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
c89502bb4e6d80182e4977ab084639850e1eba68 |
|
24-Aug-2007 |
Keith Whitwell <keith@tungstengraphics.com> |
Fixup include paths after rename
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
c0bb4ba9e665e40a325d82aa2ee48d7b8abd603b |
|
22-Aug-2007 |
Brian <brian.paul@tungstengraphics.com> |
Rework of shader constant buffers. They're now totally independent of the actual shaders. Also, implemented in terms of pipe_buffer_handles/objects.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
de653b4c9bddcec46f3ddf411ec082dd178d7b38 |
|
16-Aug-2007 |
Brian <brian.paul@tungstengraphics.com> |
Begin added vertex shader state/support. Renamed pipe_fs_state to pipe_shader_state since it can be used for both vertex and fragment shader info.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
6da9234fd437f97267e7831f034c78b31156d939 |
|
06-Aug-2007 |
Brian <brian.paul@tungstengraphics.com> |
New st_init_*_functions() to initialize the driver functions table. We need to do these initializations before initializing the Mesa context because context init involves creating texture/program/etc objects.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
43d7c1fe9d2544b851afa2f1c1e245a63860e670 |
|
24-Jul-2007 |
Brian <brian.paul@tungstengraphics.com> |
Basic fragment programs run now. Handling of constants might change. For now, the st_fragment_program struct contains a pipe_constant_buffer (not a pointer).
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
4824c342c864e870251a7d343c95e51274e50d23 |
|
19-Jul-2007 |
Keith Whitwell <keith@tungstengraphics.com> |
Trigger tgsi compilation for fragment programs. Not sure the generated program looks correct though...
/external/mesa3d/src/mesa/state_tracker/st_program.h
|
6393cda6766b707ef01e925d378239a66d143ae0 |
|
14-Jun-2007 |
Keith Whitwell <keith@tungstengraphics.com> |
Renamed softpipe directories and files to something less confusing. softpipe/state_tracker --> state_tracker/ softpipe/ --> pipe/ softpipe/generic --> pipe/softpipe/ I don't think pipe is a great name, but I disliked all the others too. Luckily it's fairly easy to rename with git, so this can be revisited later.
/external/mesa3d/src/mesa/state_tracker/st_program.h
|