Marek Olšák
9b2ebcaf4b
r300g: fix random pixels appearing / incomplete rendering
...
This should fix the FDO bug #28612 .
Also, these piglit tests have been fixed:
- fbo-copypix
- scissor-copypixels
- copytexsubimage
- texredefine
Finally, 2 flushes in the transfer path are no longer needed.
2010-06-19 20:26:16 +02:00
Marek Olšák
4c76184305
r300g: output floats instead of halfs when passed through translate
2010-06-19 17:20:40 +02:00
Kenneth Graunke
c186b3fbe0
Fix crash when running glsl on a signle fragment shader.
2010-06-19 01:29:17 -07:00
Kenneth Graunke
29e6087481
Rename prog to shader. Less confusing.
2010-06-19 01:29:17 -07:00
Kenneth Graunke
520aad2c3e
Fix compile on 64-bit.
2010-06-19 01:29:17 -07:00
Marek Olšák
ce4c9a7f25
r300g: fix clamp and mirror_clamp wrap modes when used with nearest filtering
2010-06-19 06:18:17 +02:00
Marek Olšák
6acd2117c1
r300g: more informative warning in END_CS
2010-06-19 05:15:07 +02:00
Marek Olšák
371ca689ec
r300g: improve the ZTOP condition
...
The real difference here is that ZTOP is now enabled if all stencil ops
are set to KEEP. This improves performance.
2010-06-19 05:14:31 +02:00
Marek Olšák
8ea45a2c0e
r300g: fix up the CS size of the rasterizer state
2010-06-19 05:14:18 +02:00
Ian Romanick
c96822cf31
Ensure that shader_in and shader_out are correctly set in declarations
2010-06-18 19:02:45 -07:00
Ian Romanick
93dad36844
glsl_lexer: centroid and invariant are not reserved words in GLSL 1.10
2010-06-18 19:02:45 -07:00
Ian Romanick
8655b7e78a
glsl_lexer: Handle interpolation qualifiers
2010-06-18 19:02:45 -07:00
Eric Anholt
6dd6830e6f
intel: Finalize the miptree before mapping it for fallbacks.
...
Fixes segfault in mipmap_view.c demo. Bug #27212 .
2010-06-18 17:44:47 -07:00
Eric Anholt
1ea7a6a44d
i965: Fix the name of aa_coverage_slope in the improved AA line params.
2010-06-18 17:44:47 -07:00
Zack Rusin
0ea927b3ad
graw: add two examples using new register files
2010-06-18 13:46:44 -04:00
Zack Rusin
101f792a2a
gallium: add a temporary array register file
...
like normal temporaries, but allows to define a number of distinct
arrays, all of which make it explicit that they contain /indexable/
registers.
as a side-effect we're adding support for multi-dimensional destination
registers.
The whole thing looks like this:
DCL TEMPX[0][0..128] # 0 array with 128 registers
ADD TEMPX[0][0], IN[0], IMM[0]
ADD TEMPX[0][1], IN[0], IMM[0]
ABS OUT[0], TEMPX[0][TEMP[0]]
2010-06-18 13:46:44 -04:00
Zack Rusin
2b221e11da
gallium: add a new register file - immediate array
...
allows one to specify a safe (bound checked) array
filled with immediates. it works just like a const
array and declares much like our current immediates.
2010-06-18 13:46:44 -04:00
José Fonseca
d7f4250333
llvmpipe: Fix pointer dereference after free.
2010-06-18 17:37:37 +01:00
Roland Scheidegger
17c9d7eea7
llvmpipe: limit the number of fragment shader variants kept around
...
llvmpipe can create a large number of shader variants for a single shader
(which are quite big), and they were only ever deleted if the shader itself
was deleted. This is especially apparent in things like glean
blendFunc where a new variant is created for every different subtest, chewing
up all memory.
This change limits the numbers of fragment shader variants (for all shaders)
which are kept around to a fixed number. If that would be exceeded a fixed
portion of the cached variants is deleted (since without tracking the used
variants this involves flushing we don't want to delete only one).
Always the least recently used variants (from all shaders together) are
deleted.
For now this is all per-context.
Both the number of how many variants are cached (1024) as well as how many
will be deleted at once (1/4 of the cache size) are just rough guesses and
subject to further optimization.
2010-06-18 13:52:17 +01:00
Ian Romanick
c93b8f1d2c
linker: Add some function header comments
2010-06-17 20:37:38 -07:00
Ian Romanick
4230cfdb42
TODO: Add note about initializers for constants
2010-06-17 20:37:17 -07:00
Ian Romanick
ce03088406
Allow initializers for uniforms
2010-06-17 20:09:34 -07:00
Ian Romanick
c648a124b2
Don't link shaders by default
...
Add a command line option to trigger linking. This "fixes" all the
failing test cases. Oops.
2010-06-17 19:51:48 -07:00
Marek Olšák
ff8e1452df
r300g: fix hardlocks in occlusion queries
...
Early Z test (=ZTOP) must be disabled before a query is started,
otherwise the GPU is dead. The order of emitted registers matters more
than you might think.
This fixes hardlocks in sauerbraten.
2010-06-18 02:17:29 +02:00
Marek Olšák
3c351e2c83
r300g: debug option for fake occlusion queries
2010-06-18 02:17:17 +02:00
Ian Romanick
832dfa58b2
linker: Initial bits of the linker
...
No linking is done yet, but some of the semantic checking is done.
2010-06-17 15:04:20 -07:00
Ian Romanick
705fb01b59
Use glsl_program instead of an open-coded vector of shaders
2010-06-17 12:59:45 -07:00
Ian Romanick
3f09c2508a
Add glsl_program that is similar to Mesa's gl_shader_program
2010-06-17 12:59:27 -07:00
Ian Romanick
f8fe53ca2e
Change glsl_program to glsl_shader
2010-06-17 12:54:24 -07:00
Ian Romanick
6fd9fb23de
Compile multiple shaders listed on the command line
2010-06-17 12:22:16 -07:00
Ian Romanick
8ce55dbd92
Extract compilation to a separate routine
...
Pull all of the code that actually compiles shaders into a separate
function. Use a glsl_program to track data about the compiled shader.
2010-06-17 12:01:18 -07:00
Ian Romanick
869b6f680f
Add glsl_program that is similar to Mesa's gl_program
...
This will be used as the header for individual compilation units.
2010-06-17 12:00:25 -07:00
Zack Rusin
4320a451a3
draw: implement triangle strips with adjacency in geometry shader
2010-06-17 13:21:38 -04:00
Zack Rusin
f542a2770a
draw: implement triangle lists with adjacency support in gs
2010-06-17 12:05:15 -04:00
Zack Rusin
06b854752f
draw: fix a silly error
2010-06-17 11:13:18 -04:00
Zack Rusin
eb33dd6954
draw: implement line strip adjacency
2010-06-17 10:54:44 -04:00
Zack Rusin
dc8f64c537
draw: implement lines with adjacency in geometry shaders
2010-06-17 10:48:23 -04:00
Zack Rusin
91862051f9
draw: validate stream output buffers
...
fixes a crash.
2010-06-17 10:47:10 -04:00
Zack Rusin
c85971da31
draw: fix some unsigned issue
...
spotted by Vinson
2010-06-17 05:00:50 -04:00
Chia-I Wu
da39d5d3b4
egl: s/EGL_DISPLAY/EGL_PLATFORM/.
...
A platform is already used to mean a window system in EGL. No need to
use a different term.
2010-06-17 16:30:26 +08:00
Chia-I Wu
6f690caddc
egl: s/_EGL_PLATFORM/_EGL_OS/ and s/POSIX/UNIX/.
...
A platform means a native window system in EGL. Use OS that follows
Gallium instead.
2010-06-17 16:05:18 +08:00
Chia-I Wu
8f3e48ee2c
st/egl: Build sw/fbdev winsys for fbdev backend.
...
Target egl_fbdev_swrast.so needs sw/fbdev/libfbdev.a.
2010-06-17 14:13:30 +08:00
Marek Olšák
c3c2023323
r300g: more reasonable MSPOS defaults in error path
2010-06-17 05:14:24 +02:00
Marek Olšák
6771622e22
r300g: fix surface leaks
2010-06-17 05:11:07 +02:00
Corbin Simpson
1e6d51e805
gallium/docs: GLSL glossary entry.
2010-06-16 18:58:18 -07:00
Corbin Simpson
f98c462770
gallium/docs: Explain DFRACEXP/DLDEXP.
2010-06-16 18:58:18 -07:00
Corbin Simpson
dbc95e8edc
gallium/docs: Remove unneeded "doubles", add double blurb.
2010-06-16 18:58:18 -07:00
Corbin Simpson
9d4cb6ea36
gallium/docs: Label opcodes by capability bits.
2010-06-16 18:58:18 -07:00
Corbin Simpson
92867dcc42
gallium/docs: R and RG texture swizzles.
...
We *did* reach an agreement on this a few months ago, and now the docs
reflect it. However, we never got around to UV and Z...
2010-06-16 18:58:18 -07:00
Corbin Simpson
e7d05f1f0d
gallium/docs: Flesh out the distro information.
...
I'm not sure I picked the best voice here. I might come back to this
later.
2010-06-16 18:58:18 -07:00