summaryrefslogtreecommitdiff
path: root/src/gallium
AgeCommit message (Collapse)Author
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
2009-07-20gallium/trace: Fix SCons build.Michel Dänzer
2009-07-20r300g: Guard R500 register writes by is_r500 check.Michel Dänzer
Flagged by the DRM command stream checker. This allows the driver to work on non-R500 cards.
2009-07-18gallium: make g3dvl build againDave Airlie
2009-07-17Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: Makefile progs/glsl/multitex.c src/mesa/main/enums.c src/mesa/main/state.c src/mesa/main/texenvprogram.c src/mesa/main/version.h
2009-07-18st/egl: Fix broken build after EGL thread changesAndrew Randrianasulu
2009-07-17egl: Remove redundant DeletePending flag.Chia-I Wu
A context or surface that is neither linked to a display nor current to a thread should be destroyed. Therefore, an unlinked context or surface implies a pending delete automatically. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-17egl: Use the link functions to manage resources.Chia-I Wu
This commit uses the newly introduced link functions to manage EGL contexts and surfaces. As a result of this, the API for drivers are changed. All drivers are updated for the change. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-16python/retrace: Process the call no passed to --to option inclusively.José Fonseca
2009-07-16python/retrace: Dump the surface copy contents.José Fonseca
2009-07-16python/retrace: Flush stdout before calling the pipe driver.José Fonseca
So that messages are in sync with stderr.
2009-07-16draw: fix ppc build regressionKeith Whitwell
Found by x.org tinderbox, reported by Chris Ball.
2009-07-16tgsi: simplify and fix sse KIL implementationKeith Whitwell
Use sse_movmskps to extract the correct bits of the comparison result for use in updating the killmask. Simplify some logic around identifying the set of necessary comparisons to make.
2009-07-16rtasm: export sse_movmskpsKeith Whitwell
2009-07-16tgsi: initial texturing support on sse pathKeith Whitwell
Most obvious problem is drawpixels comes out blocky, but this may be an existing issue of KIL on the sse path.
2009-07-16python: Hack to prevent segmentation faults when python exits.José Fonseca
2009-07-16wgl: Expose pipe_screen/pipe_context via an extension.José Fonseca
2009-07-16python: Obtain pipe_screen/pipe_context from the system's OpenGL driver.José Fonseca
2009-07-16tgsi: make sse function callout mechanism more genericKeith Whitwell
Take a list of arguments rather than hardcoding TEMP_R0.
2009-07-16tgsi: reduce x86 reg usage in tgsi_sse generated programsKeith Whitwell
Pass the tgsi_exec_machine struct in directly and just hold a single pointer to this struct, rather than keeping one for each of its internal members.
2009-07-16tgsi: no need to separately malloc input and output arraysKeith Whitwell
Can now guarantee alignment in the initial allocation of the tgsi exec machine.
2009-07-16gallium: reduce recursive include of tgsi_exec.hKeith Whitwell
A lot of draw code no longer needs to see this header.
2009-07-16tgsi: make function call code in tgsi_sse.c less opaqueKeith Whitwell
Explictly pass src and dst arguments (previously dst argument was also being used as a src). Separate argument handling from the rest of the function call emit.
2009-07-16gallium: proper constructor and destructor for tgsi_exec_machineKeith Whitwell
Centralize the creation, initialization and destruction of this struct. Use align_malloc instead of home-brew alternatives.
2009-07-15softpipe: limit blend results to [0,1]Luca Barbieri
2009-07-15python/retrace: Interpret surface_copy.José Fonseca
2009-07-15python/samples: Use PIPE_FORMAT_Z16_UNORM instead of PIPE_FORMAT_Z32_UNORM.José Fonseca
More common. True fix would be to use whatever the screen supports though.
2009-07-14dri-st: Unbreak GL_EXT_blend_equation_separate.Corbin Simpson
Since it has a dispatch table entry (for BlendEquationSeparateEXT,) can't omit it from this list. It'll still get disabled if the cap (PIPE_CAP_BLEND_EQUATION_SEPARATE) isn't set. Somebody that doesn't suck at GL (read: not me) should probably add this into progs/samples/blendeq or similar so we can test it.
2009-07-14gallium: Define PIPE_CAP_BLEND_EQUATION_SEPARATE, remove extension from ↵Patrice Mandin
default extension list
2009-07-13r300g: Small compile warning fixes.Nicolai Hähnle
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2009-07-13r300g, radeon: Whitespace fixes.Nicolai Hähnle
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2009-07-13r300g: Use align() instead of inline maths.Corbin Simpson
2009-07-13Merge branch 'mesa_7_5_branch'Brian Paul
2009-07-10tgsi: update some assertionsBrian Paul
2009-07-10tgsi: tgsi: add semantic_names[] string for TGSI_SEMANTIC_FACEBrian Paul
Same story as in the tgsi_dump.c code (see prev commit).
2009-07-10tgsi: add semantic_names[] string for TGSI_SEMANTIC_FACEBrian Paul
Fixes TGSI dump output when front/back-face register is declared. Also, add some assertions to make sure the semantic/interpolate string arrays have as many elements as there are tokens in the p_shader_tokens.h file. That should catch problems like this in the future.
2009-07-10tgis: implement indirect addressing for destination registersBrian Paul
Includes the TGSI interpreter, but not the SSE/PPC/etc code generators.
2009-07-07gallium: Fixes for clobbering stencil values in combined depth/stencil textures.Michel Dänzer
Also fix one case where a 32 bit depth value was incorrectly converted to a combined depth/stencil value.
2009-07-06wgl: Make the stw_framebuffer destructions threadsafe.José Fonseca
Ensure no other thread is accessing a framebuffer when it is being destroyed by acquiring both the global and per-framebuffer mutexes. Normal access only needs the global lock to walk the linked list and acquire the per-framebuffer mutex.
2009-07-06wgl: Check for multiple threads before GET_CURRENT_CONTEXT.José Fonseca
Fixes wglthreads -- the 2nd thread MakeCurrent call was trying to flush the first thread context while still in use.
2009-07-06wgl: Listen to WM_WINDOWPOSCHANGED instead of WM_SIZE messages.José Fonseca
According to http://blogs.msdn.com/oldnewthing/archive/2008/01/15/7113860.aspx WM_SIZE is generated from WM_WINDOWPOSCHANGED by DefWindowProc so it can be masked out by the application. Also there were some weird bogus WM_SIZE 0x0 messages when starting sharedtex_mt which we don't get like this.
2009-07-08r300g: Remove VAP_CNTL_STATUS from invariant state.Corbin Simpson
Seriously.
2009-07-08r300g: Disable MSPOS registers for glisse's CS security checker.Corbin Simpson
These will come back in someday, when we can properly use them.
2009-07-08r300-gallium: Unify sampler and texture emit.Corbin Simpson
They have to cross into each other's registers.
2009-07-08r300-gallium: Mipmap setup.Corbin Simpson
(cherry picked from commit 88c01a15da5639dd68a6a0133724994cb66f1316)