Commit graph

36252 commits

Author SHA1 Message Date
Kenneth Graunke
d6a32d4b54 ir_constant_visitor: Add support for dFdx and dFdy operations.
If the argument is a constant expression...it's not changing per pixel,
so the result is simply 0.
2010-06-09 15:23:40 -07:00
Kenneth Graunke
b843c7a20c Implement dFdx, dFdy, and fwidth via new expression opcodes. 2010-06-09 14:44:39 -07:00
Kenneth Graunke
cbd881da3f Implement 'refract' builtin. 2010-06-09 14:44:39 -07:00
Eric Anholt
94731797c6 intel: Use the blitter to upload TexSubImage data to busy textures.
This avoids many pipeline stalls in cairo-gl.
[ # ]  backend                         test   min(s) median(s) stddev. count
Before:
[  0]       gl            firefox-talos-gfx   36.799   36.851   2.34%    3/3
[  0]       gl            firefox-talos-svg   33.429   35.360   3.46%    3/3
After:
[  0]       gl            firefox-talos-gfx   35.895   36.250   0.48%    3/3
[  0]       gl            firefox-talos-svg   26.669   29.888   5.34%    3/3

This doesn't avoid all the pipeline stalls because the kernel reports
!busy for buffers on the flushing list.  That should be fixed in .36.
2010-06-09 14:23:46 -07:00
Eric Anholt
503eb57a00 i965: Avoid calloc/free in the CURBE upload process.
In exchange we end up with an extra memcpy, but that seems better than
calloc/free.  Each buffer is 4k maximum, and on the i965-streaming
branch this allocation was showing up as the top entry in
brw_validate_state profiling for cairo-gl.
2010-06-09 14:17:52 -07:00
Kenneth Graunke
3ffedf1249 Fix some typing issues in asin.
CorrectFunction.vert now passes.
2010-06-09 14:15:04 -07:00
Kenneth Graunke
c476ba8fe2 Add a completely bogus implementation of the noise[1234] builtins.
idr suggested this.  Eventually we will need a real one.
2010-06-09 14:07:35 -07:00
Kenneth Graunke
855fcb22c1 Implement 'acos' builtin.
This is tacked on to the end of the 'asin' file because acos calls asin,
whech means asin needs to be defined first.  Alphabetical order fail.
2010-06-09 13:52:32 -07:00
Carl Worth
2fb30a2e49 Merge remote branch 'kwg/fixes' 2010-06-09 13:29:37 -07:00
Kenneth Graunke
539f29323f Implement 'faceforward' builtin. 2010-06-09 13:27:16 -07:00
Kenneth Graunke
29b22287fe Implement 'distance' builtin. 2010-06-09 13:17:00 -07:00
Kenneth Graunke
cdf1726ffd Add remaining signatures for 'clamp' builtin. 2010-06-09 13:10:00 -07:00
Kenneth Graunke
76796ed66f Add remaining signatures for 'max' builtin. 2010-06-09 13:05:40 -07:00
Kenneth Graunke
47d44c877e Add remaining signatures for 'min' builtin. 2010-06-09 13:04:16 -07:00
Kenneth Graunke
2438f64e63 Add remaining signatures for 'mod' builtin. 2010-06-09 13:04:03 -07:00
Marek Olšák
45fb47d50c r300g: try harder to create a transfer object
I was told this wouldn't help to fix the FDO bug #28443, but still,
it's a harmless last resort.

Also, linear textures safely fallback to an unpipelined transfer here.
2010-06-09 21:43:31 +02:00
Zack Rusin
1d11eac93f draw: make sure geometry shader correctly iterates the output buffer 2010-06-09 15:02:08 -04:00
Marek Olšák
f571a569a0 r300g: debug output texture size 2010-06-09 20:22:52 +02:00
Marek Olšák
950be3fa3c r300g: return NULL texture early if buffer_create fails 2010-06-09 20:17:27 +02:00
Kenneth Graunke
b97efa5db5 ir_function_cloning_visitor: Add support for ir_texture. 2010-06-09 11:14:58 -07:00
Kenneth Graunke
8331d48948 Don't call _mesa_glsl_initialize_types for every builtin function.
This was clearly wrong; types are now only initialized once.
2010-06-09 11:14:58 -07:00
Kenneth Graunke
57503a22d7 Only initialize types after #extension directives have been processed.
Since _mesa_glsl_initialize_types add types for various extensions, we
can't call it until after processing "#extension foo : disable" lines.

Fixes tex_rect_02.frag.
2010-06-09 11:14:58 -07:00
Kenneth Graunke
4b0029a97d Commit output of texture_builtins.py and refresh builtin_function.cpp. 2010-06-09 11:14:58 -07:00
Kenneth Graunke
5e65c1ccae texture_builtins.py: Support the EXT_texture_array extension. 2010-06-09 11:14:58 -07:00
Kenneth Graunke
0d80f71867 Add EXT_texture_array support. 2010-06-09 11:14:58 -07:00
Kenneth Graunke
cc249f79e7 generate_builtins.pl: Support stage-specific builtins even for extensions. 2010-06-09 11:14:58 -07:00
Kenneth Graunke
c34a624c9f texture_builtins.py: Fixes for Array variants.
The array layer is now included as part of the texture coordinate.
2010-06-09 11:14:58 -07:00
Kenneth Graunke
538da12092 texture_builtins.py: Add support for 130 Proj variants. 2010-06-09 11:14:58 -07:00
Kenneth Graunke
b3bcea7db6 Add a python script to generate texture builtins. 2010-06-09 11:14:58 -07:00
Kenneth Graunke
9aefbe838c generate_builtins.pl: Support directiories for each extension. 2010-06-09 11:14:58 -07:00
Kenneth Graunke
9d1fc46f0c generate_builtins.pl: Support _fs directories as well as _vs. 2010-06-09 11:14:57 -07:00
Kenneth Graunke
56d3f6ad78 Set the type of ir_texture properly; infer it from the sampler type. 2010-06-09 11:14:57 -07:00
Kenneth Graunke
dd5b4a544b ir_reader: Add support for reading ir_texture. 2010-06-09 11:14:57 -07:00
Kenneth Graunke
3c7934bfaa ir_reader: Refactor reading of dereferences for later reuse. 2010-06-09 11:14:57 -07:00
Kenneth Graunke
26d74cd1d1 Add stub visitor support for ir_texture. 2010-06-09 11:14:57 -07:00
Kenneth Graunke
be298063b5 ir_print_visitor: Add support for ir_texture. 2010-06-09 11:14:57 -07:00
Kenneth Graunke
c30f6e5dea Add mappings between ir_texture_opcode and strings. 2010-06-09 11:14:57 -07:00
Ian Romanick
81377c012c Define IR instruction for texture look-ups 2010-06-09 11:14:57 -07:00
Zack Rusin
da4185ca77 draw: make sure the buffer is big enough to fit everything emitted by the gs 2010-06-09 14:11:43 -04:00
Ian Romanick
2f8b0435b0 Use array delete operator to delete an array
This was detected by valgrind.  I think GCC still does the right
thing, but the C++ spec allows the compiler to do something
stupid... like crash or only delete the first entry in the array.
2010-06-09 11:00:23 -07:00
Roland Scheidegger
26d5d4d995 llvmpipe: fix copy & paste bug in clear logic
fixes bug 28450.
2010-06-09 18:46:52 +02:00
Zack Rusin
04490ad31d draw: fix geometry shader which emit multiplie primitives 2010-06-09 11:59:53 -04:00
Zack Rusin
d27d45a2df graw: add a multiple primitive geometry shader test 2010-06-09 11:44:19 -04:00
Zack Rusin
db7ed20730 nv: fix compile after the latest gs changes 2010-06-09 11:29:45 -04:00
Zack Rusin
d4ef0f6c67 geometry shaders: make gs work with changable primitives and variable number of vertices
lots and lots of fixes for geometry shaders. in particular now we work when the gs
emits a different primitive than the one the pipeline was started with and also
we work when gs emits more vertices than would fit in the original buffer.
2010-06-09 11:13:34 -04:00
Thomas Hellstrom
cec9955acc xorg/vmwgfx: Disable 3D by default.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2010-06-09 07:40:07 +02:00
Thomas Hellstrom
2e27bf8b7c st/xorg: Add a customizable option to disable 3D.
If no customizer is present, 3D will be enabled by default.
Otherwise the option will default to the customizer value.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2010-06-09 07:40:07 +02:00
Ben Skeggs
ebd98b3496 nvfx: fix typo from gallium-msaa merge 2010-06-09 11:59:49 +10:00
Ben Skeggs
851ca2f7f9 nv50: fix typo from gallium-msaa merge 2010-06-09 11:59:01 +10:00
Ben Skeggs
7bf678f7ec nv50: use MARK_RING correctly 2010-06-09 11:59:01 +10:00