summaryrefslogtreecommitdiff
path: root/src/gallium
AgeCommit message (Collapse)Author
2009-07-30softpipe: Mark texture dirty when unmapped.Chia-I Wu
When a texutre transfer is mapped for writing, mark the texture dirty when unmapped. This was done in surface creation, and this commit moves it to happen in texture unmapping. This fixes subtex test in progs/tests/. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-30Merge branch 'mesa_7_5_branch'Brian Paul
2009-07-30tgsi: Add proper constraints to sanity.Michal Krol
2009-07-30tgsi: Declare a LOOP register.Michal Krol
The only valid usage for LOOP/ENDLOOP instructions is LOOP[0] as a destination register. The only valid usage for the remaining instructions is LOOP[0].x as an indirect register.
2009-07-30tgsi: Fix number operands for LOOP/ENDLOOP.Michal Krol
2009-07-30tgsi: Document LOOP/ENDLOOP instruction operation.Michal Krol
2009-07-29gallium: fix SSE shadow texture instructionsBrian Paul
When sampling a 2D shadow map we need 3 texcoord components, not 2. The third component (distance from light source) is compared against the texture sample to return the result (visible vs. occluded). Also, enable proper handling of TGSI_TEXTURE_SHADOW targets in Mesa->TGSI translation. There's a possibility for breakage in gallium drivers if they fail to handle the TGSI_TEXTURE_SHADOW1D / TGSI_TEXTURE_SHADOW2D / TGSI_TEXTURE_SHADOWRECT texture targets for TGSI_OPCODE_TEX/TXP instructions, but that should be easy to fix. With these changes, progs/demos/shadowtex.c renders properly again with softpipe.
2009-07-29util: _debug_printf should print even when DEBUG is not definedKeith Whitwell
The leading underscore is meaningful... This function is used by _warning and _error functions as well as the more common debug_printf(). debug_printf (without underscore) gets turned off when DEBUG is disabled, but warning/error messages still use this function to get their message out. (cherry picked from commit 0ac879dca797360570543d5bd0fd64f8fb8e566e)
2009-07-29nv50: support non-blocking query_result()Ben Skeggs
2009-07-29nouveau: map_range returning -EBUSY isn't necessarily an errorBen Skeggs
2009-07-29nv50: correct zeta formatsChristoph Bumiller
What was Z24S8 before is actually S8Z24, and what we had for Z16 is actually X8Z24. Now, we also have the REAL Z24S8 and I added Z32_FLOAT as well; most of the formats need different tile_flags.
2009-07-29nv50: use new 2D surface format namesChristoph Bumiller
2009-07-29nv50: support more vtxelt formatsChristoph Bumiller
NOTE: we must not try to emit buffer relocations when vtxbuf_nr is 0 but vtxelt_nr is not
2009-07-29nv50: should use uint32_t ptr in draw_elements_inline_u32Christoph Bumiller
2009-07-29nv50: TIC/TSC fixes and additionsChristoph Bumiller
Red and blue were interchanged in TIC. Add border color and some formats.
2009-07-29nv50: fix sx/dx typo in transfer_rect_m2mfChristoph Bumiller
2009-07-29nv50: fix viewport transformChristoph Bumiller
The translation also needs to be inverted, and in bypass mode the state tracker incorrectly assumes that Y = 0 = TOP, so we need inversion there to; NDC clipping has to be deactivated explicitly.
2009-07-29nv50: use correct scissor regChristoph Bumiller
2009-07-28Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: Makefile configs/default docs/relnotes.html src/mesa/main/version.h
2009-07-28gallium: minor code/comments clean-upBrian Paul
2009-07-27softpipe: include sp_winsys.h to silence function prototype warningBrian Paul
2009-07-27nouveau: swizzle a single row or column, doing it one pixel at a timePatrice Mandin
2009-07-26r300g: Fix two trivial texture size issues.Corbin Simpson
Next thing to fix: progs/tests/mipgen.
2009-07-26radeon-gallium: If BO allocation fails, return NULL.Corbin Simpson
2009-07-26r300g: Add some debugging, correct little bits of math in texture setup.Corbin Simpson
Simple stuff still works, but not sure about some of the more complex things.
2009-07-26nouveau: only swizzle square textures for copyPatrice Mandin
2009-07-26util: fix typo.José Fonseca
2009-07-26nouveau: Take into account destination position for copy_swizzle, need to ↵Patrice Mandin
split copy a bit more
2009-07-26nouveau: Recursively swizzle an NPOT sized copyPatrice Mandin
2009-07-24nouveau: use nv04_surface_copy_swizzle only for POT sizesPatrice Mandin
2009-07-24radeon-gallium: remove old getparam ioctlJoakim Sindholt
2009-07-23draw: correct address for machine struct in llvm pathKeith Whitwell
This changed after a recent commit.
2009-07-23gallivm: updates for TGSI changesKeith Whitwell
make linux-llvm succeeds, but doesn't seem to be working, at least with llvm 2.5
2009-07-23r300g, radeon-gallium: Fix API, cleanup.Corbin Simpson
Something called "validate" should return FALSE on failure, not TRUE.
2009-07-23radeon-gallium: Build fixes wrt changed libdrm_radeon space check APINicolai Hähnle
Had to be hacked up a bit to apply to master. Sorry 'bout that. :3
2009-07-23r300g: PIPE_CAP_BLEND_EQUATION_SEPARATE.Corbin Simpson
2009-07-23gallium: clean up opcode definitionsKeith Whitwell
Remove commented-out opcodes. Remove information about API mappings to opcodes, but add a reference to tgsi-instruction-set.txt where that information is better presented.
2009-07-23gallium: remove deprecated TGSI opcodesKeith Whitwell
Various opcodes which can be implemented trivially with other TGSI opcodes, such as matrix multiplication and negation. These were not used by any state tracker or implemented by any of the drivers.
2009-07-23util: Add support for Mac OS.Vinson Lee
2009-07-23r300g: Actually mark shaders as translated/untranslated.Corbin Simpson
Also trust that Gallium will not give us TGSI that miscounts shader consts. This creates a 20x speedup on glxgears, from 8 FPS to 160 FPS.
2009-07-22cell: update TGSI_OPCODE_ casesBrian Paul
2009-07-23gallium: Fix PPC build.Michel Dänzer
2009-07-22nouveau: nv30: wrong variable for formatPatrice Mandin
2009-07-22nouveau: Take into account sx,sy parameters to read from source surfacePatrice Mandin
2009-07-22gallium: remove multiple aliases for TGSI opcodesKeith Whitwell
This is a source of ongoing confusion. TGSI has multiple names for opcodes where the same semantics originate in multiple shader APIs. For instance, TGSI includes both Mesa/GLSL and DX/SM30 names for opcodes with the same semantics, but aliases those names to the same underlying opcode number. This makes it very difficult to visually inspect two sets of opcodes (eg in state tracker & driver) and check if they implement the same functionality. This patch arbitarily rips out the versions of the opcodes not currently favoured by the mesa state tracker and leaves us with a single name for each distinct operation.
2009-07-22gallium: simplify tgsi_full_immediate structKeith Whitwell
Remove the need to have a pointer in this struct by just including the immediate data inline. Having a pointer in the struct introduces complications like needing to alloc/free the data pointed to, uncertainty about who owns the data, etc. There doesn't seem to be a need for it, and it is unlikely to make much difference plus or minus to performance. Added some asserts as we now will trip up on immediates with more than four elements. There were actually already quite a few such asserts, but the >4 case could be used in the future to specify indexable immediate ranges, such as lookup tables.
2009-07-20tgsi: get texturing working in vertex shader sse2 pathKeith Whitwell
Missing file from previous commit.
2009-07-20tgsi: get texturing working in vertex shader sse2 pathKeith Whitwell
2009-07-20tgsi: fix regression in indexed const lookupsKeith Whitwell
This function was calling get_input_base() and get_output_base() to get the names of a couple of register to use as temps. Those functions no longer return registers, so adjust it to get the registers elsewhere. This change doesn't address the issue that it's a fairly poor way to grab a register name by calling a function with an apparently unrelated meaning.
2009-07-20r300g: Fix SCons build.Michel Dänzer