summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_mesa_to_tgsi.c
AgeCommit message (Collapse)Author
2011-02-25gallium/st: place value check before value is useJerome Glisse
7.9 & 7.10 candidate Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2011-01-25st/mesa: support for 1D/2D texture arraysBrian Paul
2011-01-25st/mesa: add comments in emit_wpos()Brian Paul
2011-01-25st/mesa: fix incorrect fragcoord.x translationBrian Paul
emit_adjusted_wpos() needs separate x,y translation values. If we invert Y, we don't want to effect X. Part of the fix for http://bugs.freedesktop.org/show_bug.cgi?id=26795 NOTE: This is a candidate for the 7.9 and 7.10 branches.
2011-01-15Merge branch 'draw-instanced'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_llvm.c src/gallium/drivers/llvmpipe/lp_state_fs.c src/glsl/ir_set_program_inouts.cpp src/mesa/tnl/t_vb_program.c
2010-12-08st/mesa: translate shader system inputsBrian Paul
2010-12-03mesa, st/mesa: fix gl_FragCoord with FBOs in GalliumMarek Olšák
gl_FragCoord.y needs to be flipped upside down if a FBO is bound. This fixes: - piglit/fbo-fragcoord - https://bugs.freedesktop.org/show_bug.cgi?id=29420 Here I add a new program state STATE_FB_WPOS_Y_TRANSFORM, which is set based on whether a FBO is bound. The state contains a pair of transformations. It can be either (XY=identity, ZW=transformY) if a FBO is bound, or (XY=transformY, ZW=identity) otherwise, where identity = (1, 0), transformY = (-1, height-1). A classic driver (or st/mesa) may, based on some other state, choose whether to use XY or ZW, thus negate the conditional "if (is a FBO bound) ...". The reason for this is that a Gallium driver is allowed to only support WPOS relative to either the lower left or the upper left corner, so we must flip the Y axis accordingly again. (the "invert" parameter in emit_wpos_inversion) NOTE: This is a candidate for the 7.9 branch. Signed-off-by: Marek Olšák <maraeo@gmail.com> Signed-off-by: Brian Paul <brianp@vmware.com>
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2010-10-13st/mesa: use shader stencil export to accelerate shader drawpixels.Dave Airlie
If the pipe driver has shader stencil export we can accelerate DrawPixels using it. It tries to pick an S8 texture and works its way to X24S8 and S8X24 if that isn't supported.
2010-08-28st/mesa: Include missing header in st_mesa_to_tgsi.c.Vinson Lee
Include p_screen.h for complete type to pipe_screen.
2010-07-31mesa: Remove inclusion of compiler.h from mtypes.h.Vinson Lee
mtypes.h does not use any symbols from compiler.h. Also add the required headers for files that depended on symbols from compiler.h but were indirectly including compiler.h through mtypes.h.
2010-07-30st/mesa: better handling of indirect addressing of temp/const register filesBrian Paul
With gl_program::IndirectRegisterFiles we can distinguish between indirect addressing of constants vs. temporaries. In the case of temporaries, declare all temps up front sequentially. Fixes fd.o bug 29305.
2010-07-23st/mesa: get rid of unneeded ureg_writemask()Brian Paul
2010-07-23st/mesa: fix bug in emit_adjusted_wpos()Brian Paul
If we bias x,y we still need to pass through z,w in case the shader reads gl_FragCoord.z or .w. Fixes fd.o bug 29183 (piglit glsl-bug-22603). NOTE: This is a candidate for the 7.8 branch.
2010-07-13mesa: add comments and change Index2D to just Index2Zack Rusin
2010-07-10mesa: get the translation from mesa 2d regs to tgsi workingZack Rusin
first working version of arb_geometry_shader4
2010-07-09mesa: add basic support for 2D register arrays to mesaZack Rusin
just like in Gallium it's a basic functionality needed by a lot of modern graphcis extensions
2010-07-08st/mesa: additional assertions in st_translate_mesa_program()Brian Paul
2010-06-28mesa: initial support for ARB_geometry_shader4Zack Rusin
laying down the foundation for everything and implementing most of the stuff. linking, gl_VerticesIn and multidimensional inputs are left.
2010-06-10mesa: rename src/mesa/shader/ to src/mesa/program/Brian Paul
2010-06-02st/mesa: fix indirect addressing of input/output regsBrian Paul
This fixes an issue that was missed with commit 9f544394c1d059ce09c8bb2b5e11f5e871c7915f. Fixes piglit glsl-texcoord-array.shader_test
2010-05-10st/mesa: rename vars, added commentsBrian Paul
2010-05-10st/mesa: only set prevInstWrotePsiz if translating a vertex programBrian Paul
2010-05-10st/mesa: additional assertions in dst_register()Brian Paul
2010-05-05st/mesa: fix per-vertex point sizeMarek Olšák
This fixes FDO bug #27343.
2010-04-09st/mesa: new assertions to check array indexesBrian Paul
2010-04-05st/mesa: reformattingBrian Paul
2010-04-05st/mesa: put fragment wpos code into separate functionBrian Paul
2010-02-19Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg
2010-02-09Merge branch 'gallium-nopointsizeminmax'Roland Scheidegger
Conflicts: src/gallium/drivers/nv10/nv10_state.c src/gallium/drivers/nv20/nv20_state.c src/gallium/drivers/nv50/nv50_program.c
2010-02-09st/mesa: check for PROG_PARAM_BIT_CYL_WRAP flagBrian Paul
2010-02-05st/mesa: allow negative index for PROGRAM_STATE_VARBrian Paul
The piglit vp-address-01 test uses negative address-relative offsets. In this test we're indexing into PROGRAM_STATE_VAR which, in turn, contains references to ENV vars. We previously fixed this issue for PROGRAM_CONSTANT. piglit/vp-address-01 (the version from Feb 5) passes now. (cherry picked from commit 64be837b0b171c44f47a3c0b83f566d292ffff50)
2010-02-04gallium: add point size clamp to implementation limits in vertex shaderRoland Scheidegger
The point size min/max registers (unused by mesa state tracker) were removed since most hardware couldn't do much with them. However, we don't want to have to rely on hw to do point size clamping correctly to implementation dependent limits, hence have to do that in the vertex shader. This should also solve a potential problem with (non-AA) points smaller than 1.0 which according to OGL still have size 1.0. Note that OGL point rendering is odd, in particular point sprites are rasterized differently to points. Some hardware might support those different modes, but in any case the different clamping values used for smooth/multisampled/sprite enabled points might help a bit for hw which rasterizes points the same as point sprites. Also tweak mesa's ff to vertex shader translation so don't have to clamp twice in case of point attenuation.
2010-01-31st/mesa: Remove unnecessary headers.Vinson Lee
2010-01-29st/mesa: Gallium support for ARB_fragment_coord_conventions (v4)Luca Barbieri
Changes in v4; - Implemented Brian Paul's style suggestions Changes in v3: - Use positive caps instead of negative ones Changes in v2: - Updated formatting The state tracker will use the TGSI convention properties if the hardware exposes the appropriate capability, and otherwise adjust WPOS itself. This will also fix some drivers that were previously broken due to their incorrect, inadvertent, use of conventions other than upper_left+half_integer.
2010-01-18st/mesa: updated comments and whitespaceBrian Paul
2010-01-18st/mesa: fix memory leak in st_translate_mesa_programMarcin Slusarz
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-01-06Merge remote branch 'origin/mesa_7_7_branch'José Fonseca
Conflicts: configs/default src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/mesa/main/version.h
2010-01-05st/mesa: fix broken translation of negative register indexesBrian Paul
A src register's index can be negative if we're doing indirect addressing into the constant buffer. Ex: MOV OUT[1], CONST[ADDR[0].x-3] This fixes the piglit vp-arl-neg-array.vpfp test. Before this change we were going out of bounds of the t->constants[] array and getting garbage that later triggered an assertion.
2010-01-05st/mesa: added PROGRAM_LOCAL_PARAM case in src_register()Brian Paul
Fixes piglit vpfp-generic arl.vpfp failure when using gallium.
2009-12-18fix debug output mising from edgeflag changesRoland Scheidegger
2009-12-18gallium: fix mesa to tgsi translation for edgeflagsRoland Scheidegger
test apps (progs/trivial/tri-edgeflags and similar) seem to work now
2009-12-14gallium: more work for edgeflags changesRoland Scheidegger
fixes, cleanups, etc. not working yet
2009-12-09gallium: first steps to treat edgeflags as regular vertex elementKeith Whitwell
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).
2009-12-07st/mesa: remove debug codeBrian Paul
2009-12-07st/mesa: negate DDY to match GL semanticsBrian Paul
This fixes the regression from commit 884007546c98b1779bf266ec5111b1e7e2b68b2e Fixes bug 25456 (piglit derivs regression).
2009-12-02Merge branch 'mesa_7_7_branch'Jakob Bornecrantz
2009-12-01st/mesa: updated emit_swz() commentBrian Paul
2009-11-30st/mesa: handle front/back-face +1/-1 vs. 1/0 conversionBrian Paul
Fixes progs/glsl/twoside.c demo.
2009-11-15mesa/st: don't calculate unused output_flags data eitherKeith Whitwell