summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw
Commit message (Collapse)AuthorAgeFilesLines
* draw: Fix memory leak.Vinson Lee2009-10-271-0/+2
| | | | This would only be hit if we got and invalid index_size.
* gallium: remove the swizzling parts of ExtSwizzleKeith Whitwell2009-10-231-26/+4
| | | | | | | | | These haven't been used by the mesa state tracker since the conversion to tgsi_ureg, and it seems that none of the other state trackers are using it either. This helps simplify one of the biggest suprises when starting off with TGSI shaders.
* Merge branch 'mesa_7_6_branch'Brian Paul2009-10-053-11/+4
|\ | | | | | | | | | | Conflicts: src/gallium/auxiliary/util/u_cpu_detect.c
| * gallium: replace // comments with /* */Brian Paul2009-10-022-4/+4
| |
| * gallium: remove // comment and extra whitespaceBrian Paul2009-10-021-7/+0
| |
* | draw: fix warningKeith Whitwell2009-09-241-1/+1
|/
* draw: Remove unused variable.José Fonseca2009-08-131-1/+0
|
* Merge branch 'mesa_7_5_branch'Keith Whitwell2009-08-131-22/+55
|\
| * draw: cope with more primitives in draw_pipeline_runKeith Whitwell2009-08-131-22/+55
| | | | | | | | | | | | | | | | This previously was used only for decomposed (POINT/LINE/TRI) primitives, but for some time a full range of primitives could end up in here. Fixes trivial/lineloop-clip on softpipe, among others. (cherry picked from commit 87cd8a3b8a2407b30916be418ff2f95dfea5d2ad)
* | draw: fix-ups for point coord attributeBrian Paul2009-07-311-12/+36
| | | | | | | | progs/glsl/pointcoord.c works again
* | draw: correct address for machine struct in llvm pathKeith Whitwell2009-07-231-1/+1
| | | | | | | | This changed after a recent commit.
* | gallium: remove multiple aliases for TGSI opcodesKeith Whitwell2009-07-221-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | gallium: simplify tgsi_full_immediate structKeith Whitwell2009-07-222-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | tgsi: get texturing working in vertex shader sse2 pathKeith Whitwell2009-07-201-0/+4
| | | | | | | | Missing file from previous commit.
* | draw: fix ppc build regressionKeith Whitwell2009-07-161-0/+1
| | | | | | | | Found by x.org tinderbox, reported by Chris Ball.
* | tgsi: reduce x86 reg usage in tgsi_sse generated programsKeith Whitwell2009-07-161-19/+5
| | | | | | | | | | | | 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.
* | gallium: reduce recursive include of tgsi_exec.hKeith Whitwell2009-07-164-1/+6
| | | | | | | | A lot of draw code no longer needs to see this header.
* | gallium: proper constructor and destructor for tgsi_exec_machineKeith Whitwell2009-07-164-21/+6
| | | | | | | | | | Centralize the creation, initialization and destruction of this struct. Use align_malloc instead of home-brew alternatives.
* | gallium/draw: sketch out some missing pointcoord codeBrian Paul2009-06-291-1/+11
| | | | | | | | | | | | The gl_PointCoord attribute is currently expected to be in the fog coord register's z/w components. This was never totally fleshed out though. This is just some placeholder code.
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-06-241-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/i915/i915_tex_layout.c src/mesa/drivers/dri/i965/brw_wm_glsl.c src/mesa/drivers/dri/intel/intel_buffer_objects.c src/mesa/drivers/dri/intel/intel_pixel_bitmap.c src/mesa/drivers/dri/intel/intel_pixel_draw.c src/mesa/main/enums.c src/mesa/main/texstate.c src/mesa/vbo/vbo_exec_array.c
| * draw: Replace pointer arithmetic with cast.José Fonseca2009-06-181-1/+2
| | | | | | | | | | | | | | Using uintptr_t as intermediate type for pointer -> integer conversions is easier to understand and does not cause any size mismatch warnings. uintptr_t is part of C99, and we already provide a suitable replacement definition for all platforms we care about.
* | draw: use u_reduced_prim() functionBrian Paul2009-06-194-28/+4
| |
* | Merge branch 'ext-provoking-vertex'Brian Paul2009-06-195-59/+150
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: docs/relnotes-7.6.html progs/tests/Makefile src/gallium/drivers/softpipe/sp_prim_vbuf.c src/glx/x11/indirect.c src/mesa/glapi/Makefile src/mesa/glapi/dispatch.h src/mesa/glapi/glapioffsets.h src/mesa/glapi/glapitable.h src/mesa/glapi/glapitemp.h src/mesa/glapi/glprocs.h src/mesa/main/dlist.c src/mesa/main/enums.c src/mesa/sparc/glapi_sparc.S src/mesa/x86-64/glapi_x86-64.S src/mesa/x86/glapi_x86.S
| * | draw: use flatfirst variableBrian Paul2009-06-181-1/+1
| | |
| * | draw: remove debug codeBrian Paul2009-06-181-7/+0
| | |
| * | draw: fix first provoking vertex mode for quads, quad strips and polygonsBrian Paul2009-06-181-18/+55
| | |
| * | draw: fix first provoking vertex mode for unfilled quadsBrian Paul2009-06-181-10/+24
| | |
| * | draw: clean up indentationBrian Paul2009-06-181-11/+11
| | |
| * | draw: implement flatshade_first for drawing pipelineBrian Paul2009-06-092-20/+67
| | |
* | | Merge branch 'mesa_7_5_branch'Brian Paul2009-06-043-5/+26
|\ \ \ | | |/ | |/| | | | | | | | | | Conflicts: src/mesa/main/context.c
| * | gallium/draw: Free specialized versions of driver shadersKeith Whitwell2009-06-013-0/+13
| | | | | | | | | | | | | | | The pstipple, aaline and aapoint code would create specialized versions of shaders and upload them to the driver -- but never free them.
| * | draw: free more token arraysKeith Whitwell2009-06-012-5/+12
| | | | | | | | | | | | | | | The AA line and point code also needs to free token arrays after building driver shaders.
| * | draw: avoid leaking tokens when building pstipple fragment shaderKeith Whitwell2009-06-011-0/+1
| | | | | | | | | | | | Add missing FREE() after MALLOC().
* | | Merge branch 'mesa_7_5_branch'Brian Paul2009-06-011-0/+1
|\| | | |/ |/|
| * draw: reset extra_vp_outputs.slot to zero in widepoint_flush()Brian Paul2009-06-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | Fixes a crash when clearing the window with a quad after drawing large points. We were asking the draw module how many vertex shader outputs there were and got 3 instead of 2. This led to creating vertices with too many attributes and trying to read invalid memory. We reset extra_vp_outputs.slot to zero in the aaline/aapoint stage's flush functions already. This omission was just an oversight in the wide_point stage.
| * gallium/draw: cope with unused vertex_elementsKeith Whitwell2009-05-083-2/+9
| |
* | draw: Fix assertion failure at fetch_emit_prepareMike Kaplinksiy2009-05-271-0/+6
| |
* | gallium/draw: cope with unused vertex_elementsKeith Whitwell2009-05-053-2/+9
| |
* | draw: added some inf/nan debug code (disabled)Brian Paul2009-05-011-0/+6
|/
* gallium/draw: add ability to print out active pipeline stagesKeith Whitwell2009-04-2815-1/+24
|
* draw: Silence pointer-to-integer cast warning.Michal Krol2009-04-101-1/+1
|
* draw: Fix vertex_header initialisation.Michal Krol2009-04-101-1/+1
|
* draw: Fix LIT instruction.Michal Krol2009-04-091-2/+2
|
* draw: added Nan/Inf assertion in debug codeBrian Paul2009-03-311-0/+1
|
* draw: Use size_t (for x86_64).José Fonseca2009-03-251-5/+4
|
* draw: update aa points shader commentKeith Whitwell2009-03-231-1/+1
|
* draw: use AOS_ERROR rather than clash-prone ERROR() macroKeith Whitwell2009-03-183-9/+9
|
* gallium: consolidate bypass_vs and bypass_clipping flagsKeith Whitwell2009-03-136-17/+19
| | | | | | | | | The draw module provides a similar interface to the driver which is retained as various bits of hardware may be able to take on incremental parts of the vertex pipeline. However, there's no need to advertise all this complexity to the state tracker. There are basically two modes now - normal and passthrough/screen-coords.
* gallium: Remove some superfluous instances of #include "p_inlines.h".Michel Dänzer2009-03-043-3/+0
|
* gallium: Unify reference counting.Michel Dänzer2009-03-042-4/+4
| | | | | | | | | | | | | | The core reference counting code is centralized in p_refcnt.h. This has some consequences related to struct pipe_buffer: * The screen member of struct pipe_buffer must be initialized, or pipe_buffer_reference() will crash trying to destroy a buffer with reference count 0. u_simple_screen takes care of this, but I may have missed some of the drivers not using it. * Except for rare exceptions deep in winsys code, buffers must always be allocated via pipe_buffer_create() or via screen->*buffer_create() rather than via winsys->*buffer_create().