Commit graph

37181 commits

Author SHA1 Message Date
Brian Paul
f2bfc2b7d2 mesa: update assertions and fix refcounting in depth/stencil renderbuffer code 2010-07-14 15:13:54 -06:00
Brian Paul
4beea12f17 mesa: silence a printf warning 2010-07-14 15:13:54 -06:00
Brian Paul
871feeb165 llvmpipe: delete lp_test_*.o files with make clean 2010-07-14 15:13:54 -06:00
Brian Paul
1957bef995 gallium: added CLEAN_EXTRA var for make clean target 2010-07-14 15:13:54 -06:00
Nick Bowler
f8d81c31ce dri2: Track event mask in client code.
When direct rendering is being used, DRI2 BufferSwapComplete events are
sent unconditionally to clients, even if they haven't been requested.
This causes error messages to be printed by every freeglut application
of the form

  freeglut (./gears): Unknown X event type: 104

and might confuse other clients.

This is a fixed up version of the patch by Jesse Barnes, which drops
BufferSwapComplete events if they are not requested by clients.

Fixes fdo bug 27962.

Signed-off-by: Nick Bowler <nbowler@draconx.ca>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-07-14 10:23:09 -07:00
José Fonseca
467928c6e0 gallium: Ensure prototypes are wrapped in extern "C".
Fixes MSVC build failure due to inconsistent _ReadWriteBarrier
prototype.
2010-07-14 16:15:56 +01:00
José Fonseca
d023fb3928 llvmpipe: Remove redundant alignments.
The lp_rast_shader_inputs' alignment is irrelevant now that it contains
pointers instead of actual data.

Likewise, lp_rast_triangle's size alignment is meaningless.
2010-07-14 14:53:35 +01:00
Chris Li
bed78862d4 llvmpipe: Addi ssse3 swizzling for B8G8R8A8_UNORM. 2010-07-14 14:38:02 +01:00
José Fonseca
c6c62164c3 gallium: Add a macro for memory barriers. 2010-07-14 14:38:02 +01:00
José Fonseca
5e2437a232 gallium: Add a new PIPE_ARCH_SSSE3 define for SSSE3 compiler support. 2010-07-14 14:38:02 +01:00
Zack Rusin
582132aaef Merge branch 'mesa-2d-registers' 2010-07-13 21:54:14 -04:00
Zack Rusin
1491c6aa2d mesa: add comments and change Index2D to just Index2 2010-07-13 21:49:53 -04:00
Marek Olšák
9fa64ea675 r300/compiler: fix swizzling in the transformation of Abs modifiers 2010-07-14 02:01:03 +02:00
Eric Anholt
021222c6a8 ir_to_mesa: Add convenience function for opcodes with no src/dst reg.
Most of flow control is like this.
2010-07-13 12:24:39 -07:00
Jakob Bornecrantz
20a3dda726 i965g: Fix scons build of dri driver 2010-07-13 19:32:16 +01:00
Eric Anholt
c10a68522c glsl2: When linking makes a variable not a varying output, make it ir_var_auto.
This almost fixes glsl-unused-varying, except that the used varying
gets assigned to the first varying slot (position).
2010-07-13 11:07:16 -07:00
Roland Scheidegger
217926f350 llvmpipe: fix comment typo 2010-07-13 19:59:38 +02:00
Roland Scheidegger
edac740095 llvmpipe: move rasterizer to screen instead of setup context
there's no point of having this per context, so move to screen
(and protect with a mutex).
2010-07-13 19:58:58 +02:00
Eric Anholt
4d5da50b94 ir_to_mesa: Add support for variable array indexing of builtin varyings.
That is to say, gl_TexCoord[i] now works, fixing glsl-texcoord-array
on swrast.
2010-07-13 09:52:20 -07:00
Eric Anholt
f8a2b65bc9 ir_to_mesa: Add support for array dereferences on the LHS of assignments.
The big change is to delay address reg setup until the instruction
that needs the deref.  It was hard to use the deref chain support for
the LHS because it does the copy of the dereffed value to a temporary
(to avoid problems when two src regs are array derefs), so we wouldn't
haev a pointer to actual storage in the end.

Fixes glsl-vs-arrays on swrast.
2010-07-13 09:52:20 -07:00
José Fonseca
962da13ba3 llvmpipe: Align texture data to the cache line. 2010-07-13 17:32:44 +01:00
Keith Whitwell
e21e7ab4da llvmpipe: eliminate the set_state rasterizer command
Just put a pointer to the state in the tri->inputs struct.  Remove
some complex logic for eliminating unused statechanges in bins at the
expense of a slightly larger triangle struct.
2010-07-13 17:28:54 +01:00
Keith Whitwell
d4b64167b5 llvmpipe: pass mask into fragment shader
Move this code back out to C for now, will generate separately.

Shader now takes a mask parameter instead of C0/C1/C2/etc.

Shader does not currently use that parameter and rasterizes whole
pixel stamps always.
2010-07-13 17:23:49 +01:00
Keith Whitwell
3bd9aedbac llvmpipe: move fences from per-bin to per-thread
Rather than inserting an lp_rast_fence command at the end of each
bin, have each rasterizer thread call this function directly once
it has run out of work to do on a particular scene.

This results in fewer calls to the mutex & related functions, but more
importantly makes it easier to recognize empty bins.
2010-07-13 17:23:48 +01:00
José Fonseca
6d17f00600 llvmpipe: Always swizzle/unswizzle whole tiles.
This was already the case, but the generated (un)swizzling code was not
benefiting of that knowledge.
2010-07-13 17:23:48 +01:00
Ian Romanick
4e6a3e0d2d glsl2: Remove unnecessary casts of clone return values 2010-07-13 09:22:35 -07:00
Jakob Bornecrantz
654009f7f8 llvmpipe: Ignores! 2010-07-13 07:49:00 -07:00
Jakob Bornecrantz
04453a32b4 targets: Link xorg drivers with LLVM if built 2010-07-13 07:49:00 -07:00
Jakob Bornecrantz
433a08445c targets: Clean up xorg make files a bit 2010-07-13 07:49:00 -07:00
Jakob Bornecrantz
4f956889b7 st/xorg: When selecting st via configure make sure to test for xorg-server 2010-07-13 07:49:00 -07:00
Brian Paul
271af2a874 libgl-xlib: add depend to make clean list 2010-07-13 07:46:22 -06:00
Brian Paul
672f6cdc19 glapi: use _mesa_snprintf()
Note that the enums.c file is generated with this script.
This will preserve the change from commit
c4066b78c0.
2010-07-13 07:44:35 -06:00
Marek Olšák
56da2403fc r300/compiler: implement the Abs source operand modifier for vertex shaders 2010-07-13 15:06:22 +02:00
Marek Olšák
b5fc699b1e r300/compiler: emulate SIN/COS/SCS in r3xx-r4xx vertex shaders
Despite the docs, the corresponding hardware instructions are r5xx-only.
2010-07-13 15:06:22 +02:00
Vinson Lee
c4066b78c0 mesa: s/snprintf/_mesa_snprintf/ 2010-07-13 00:31:37 -07:00
Marek Olšák
2470750b4e r300g: do not advertise half_float_vertex on rv3x0
rv3x0 can't do it.
2010-07-13 06:31:36 +02:00
Eric Anholt
4ca07882af ir_to_mesa: Rely on ir_mat_op_to_vec for matrix multiplication support. 2010-07-12 19:50:49 -07:00
Eric Anholt
15ded63279 glsl2: Add matrix multiplication to ir_mat_op_to_vec. 2010-07-12 19:50:49 -07:00
Eric Anholt
3f08989267 ir_to_mesa: Emit OPCODE_MAD when we find an ADD of a MUL.
Bug #27914.
2010-07-12 19:50:49 -07:00
Eric Anholt
562c3d0cb1 glsl2: Flatten expression that appear as the parameters of ir_call as well. 2010-07-12 19:50:49 -07:00
Eric Anholt
94da2abfd4 glsl2: Flatten expressions that appear as the children of ir_return as well. 2010-07-12 19:50:49 -07:00
Ian Romanick
31a97868fc linker: Merge global-scope instructions into main
Find instructions in all shaders that are not contained in a function
(i.e., initializers for global variables).  "Move" these instructions
to the top of the main function in the linked shader.  As a
side-effect, many global variables will also be copied into the linked
shader.
2010-07-12 19:12:28 -07:00
Ian Romanick
15ce87e9f2 linker: Detect the shader that contains "main" during intrastage linking 2010-07-12 18:51:55 -07:00
Ian Romanick
11fc7beb2f ir_function: Make matching_signature not return const
The linker needs to use this function to get specific function signatures, but
it also needs to modify the returned signature.  Since this method isn't itself
const (i.e., const this pointer), there is no value in making a const and
non-const version.
2010-07-12 18:51:55 -07:00
Ian Romanick
13f782c4ae linker: Implement first bits of intrastage linking
This currently involves an ugly hack so that every link doesn't result
in all the built-in functions showing up as multiply defined.  As soon
as the built-in functions are stored in a separate compilation unit,
ir_function_signature::is_built_in can be removed.
2010-07-12 18:51:55 -07:00
Ian Romanick
e2e5d0def4 linker: Refactor cross_validate_uniforms into cross_validate_globals
The later, more generic function will be used in the intra-stage linker.
2010-07-12 18:51:55 -07:00
Marek Olšák
50db6dba65 r300g: extend and clean up debug logging 2010-07-13 01:34:21 +02:00
Marek Olšák
499022c282 r300g/swtcl: do not emit texcoords if they are also stuffed in GA 2010-07-13 01:34:21 +02:00
Marek Olšák
f5804e64b4 r300g: rework the draw_rectangle hook
It is a lot simplier, cleaner, and more stable now.
2010-07-13 01:34:09 +02:00
Eric Anholt
d74c9ff046 glsl2: Use a better talloc context for ir_expression_flattening.
The instruction can be hung off of any other in the tree, even if the
other one will be deleted, since it'll get stolen to the shader's
context later if it's still live.
2010-07-12 16:07:02 -07:00