Eric Anholt
c30eb2c104
i965: Upload state on primitive switch, don't just prepare it.
...
This was a regression in 59b2c2adbb that broke
blender, among other apps.
2008-11-12 13:37:16 -08:00
Eric Anholt
2fc9d671e0
i965: Fix VB refcount leak on aperture overflow.
2008-11-12 13:34:20 -08:00
Eric Anholt
72bbc89534
Add glsync demo program from jbarnes for testing vblank synchronization.
2008-11-12 13:07:23 -08:00
Eric Anholt
62ff7ab720
i965: Fix up VS max_threads for G4X and removing a magic number.
...
As far as I can read in the docs, VS threads can be 1:1 with the pairs of
VUE handles allocated for them. Also, G4X can run twice as many threads as
before (though we won't unless the we bump the preferred URB entries for VS).
2008-11-12 13:07:23 -08:00
Eric Anholt
9dadfc09a9
i965: Fix up SF max_threads.
...
We were dividing the number of URB entries by two to get number of threads,
which looks suspiciously like a copy'n'paste-o from brw_vs_state.c. Also, the
maximum number of threads is 24, not 12.
2008-11-12 13:07:23 -08:00
Eric Anholt
82eb7c235d
i965: Fix up clip min_nr_entries, preferred_nr_entries, and max_threads.
...
The clip thread could potentially deadlock when processing tristrips since
being moved back to dual-thread mode, as the two threads could each have 4 VUEs
referenced and not be able to allocate another one since SF processing
wasn't able to continue (needing 5 entries before it freed 2).
In constrained URB mode, similar deadlock could even have occurred with
polygons (so we cut back max_threads if we can't handle it any primitive type).
2008-11-12 13:07:22 -08:00
Eric Anholt
5cb7ba10cc
i965: Update WM maximum threads for G4X.
2008-11-12 13:07:22 -08:00
Eric Anholt
d70d62c561
i965: Add a big comment explaining my understanding of URB management.
...
It shouldn't offer anything new over what's in the docs (except for G4X notes),
but here it's all in one place.
2008-11-12 13:07:22 -08:00
Kristian Høgsberg
e1fbb30211
glFlush before CopySubBuffer, fix coordinates and extension name typo.
2008-11-12 15:26:25 -05:00
Hanno Böck
becf3d9272
glx: fix xcb build
2008-11-12 06:56:42 -07:00
Brian Paul
90246d3ea5
mesa: fix version check in dinoshade.c
2008-11-11 14:35:39 -07:00
Brian Paul
f4361540f8
mesa: allow relative indexing into all register files and indirect dst register indexing
2008-11-11 14:35:39 -07:00
Kristian Høgsberg
57d78067bd
Don't mess with emacs tab width.
2008-11-11 13:41:43 -05:00
Xiang, Haihao
09623fe551
intel: reset cliprect_mode to IGNORE_CLIPRECTS.
...
This ensures all batchbuffers have a same cliprect mode after calling
_intel_batchbuffer_flush even if there aren't invalid commands in the
current batch buffer. (fix bug#18362).
2008-11-11 13:58:15 +08:00
Xiang, Haihao
8412b06b67
mesa: restore the negate flag of dots in build_lighting.
...
Dots is re-used if more than one light is enabled. Previously
the negate flag of dots may affect next light.
2008-11-11 13:36:32 +08:00
Xiang, Haihao
064b04d464
mesa: update new state for RasterPos like other operations.
...
This fixes a lighting issue when drawing a bitmap.
2008-11-11 13:35:51 +08:00
Brian
be1b8e5d6c
mesa: new _mesa_is_pow_two() function
2008-11-10 20:16:00 -07:00
Brian Paul
8df4f6667f
mesa: restore glapi/ prefix on #include
2008-11-10 16:38:47 -07:00
Brian Paul
59cc973940
mesa: fix some misc breakage caused by editing auto-generated files rather than the python generators
...
Specifically:
#include "glapitable.h" in src/mesa/main/glapi/dispatch.h
Call _mesa_bsearch() in src/mesa/main/enums.c.
2008-11-10 14:42:02 -07:00
Brian Paul
13f96c5401
GLX: fix out-of-bounds memory issue in indirect glAreTexturesResident()
...
See bug 18445.
When getting array results, __glXReadReply() always reads a multiple of
four bytes. This can cause writing to invalid memory when 'n' is not a
multiple of four.
Special-case the glAreTexturesResident() functions now.
To fix the bug, we use a temporary buffer that's a multiple of four bytes
in length.
NOTE: this commit also reverts part of commit 919ec22ecf
(glx/x11: Added some #ifdef GLX_DIRECT_RENDERING protection) which
directly edited the indirect.c file rather than the python generator!
I'm not repairing that issue at this time.
2008-11-10 14:27:42 -07:00
Brian Paul
6186e7a206
dri: alloc __DRIscreen object with calloc()
2008-11-10 12:39:36 -07:00
Brian Paul
2d76a0d77a
mesa: track initialization status of uniform variables. Plus, asst clean-ups.
2008-11-10 12:39:36 -07:00
Brian Paul
379ff8c956
mesa: initial support for uniform variable initializers.
...
This lets one specify initial values for uniforms in the code, avoiding
the need to call glUniform() in some cases.
2008-11-10 12:39:36 -07:00
Brian Paul
242c0cb543
mesa: fix logic error in GLSL linker when looking for main() shaders
2008-11-10 12:39:36 -07:00
Brian Paul
80c8017a64
mesa: allows 'f' suffix on GLSL float literals
2008-11-10 12:39:36 -07:00
Brian Paul
e5359401d6
undo accidental changes to multitex.frag shader
2008-11-10 12:39:36 -07:00
Brian
f1c9016af1
mesa: remove OPCODE_INT #define
2008-11-08 10:33:30 -07:00
Brian
e24afc808f
mesa: use NRM3 in emit_normalize_vec3() when drivers are ready
2008-11-08 10:29:03 -07:00
Brian Paul
87d1a26ba3
mesa: add support for 'centroid' qualifier in GLSL 1.20
2008-11-07 16:08:21 -07:00
Brian Paul
448156f769
mesa: add support for 'invariant' keyword for GLSL 1.20
2008-11-07 15:51:10 -07:00
Brian Paul
b632e5aa7f
mesa: reformat comments, rewrap lines, etc for a little better readability
2008-11-07 14:28:00 -07:00
Brian Paul
22459e7a9c
mesa: forgot sqrt in NRM3/4 instructions
2008-11-07 12:59:36 -07:00
Brian Paul
6dc91b8371
mesa: fix opcode table order bug
2008-11-07 12:59:08 -07:00
Brian Paul
a98a25c25f
mesa: add GLSL support for DP2, NRM3, NRM4 instructions (not actually emitted yet though)
2008-11-07 09:51:25 -07:00
Brian Paul
65cb74ecc0
mesa: added DP2, DP2A instructions
2008-11-07 09:51:25 -07:00
Brian Paul
37eef7b474
mesa: added AND/OR/NOT/XOR instructions
2008-11-07 09:51:25 -07:00
Brian Paul
d93072782a
mesa: include shader/prog_instruction.h
...
Seems to fix a mysteriously missing build dependency.
2008-11-07 09:51:25 -07:00
Brian Paul
f6ead50827
mesa: added OPCODE_NRM3/NRM4 instructions for vector normalization.
...
We may emit these instructions from GLSL instead of DP3/RCP/MUL.
Also, implement SSG (set sign) instruction in the interpreter.
2008-11-07 09:51:25 -07:00
Xiang, Haihao
4550b0562d
mesa: use _bfc0 instead of _col0 when building back face lighting.
2008-11-07 14:58:04 +08:00
Brian Paul
035c0cf71a
mesa: rename OPCODE_INT -> OPCODE_TRUNC
...
Trunc is a more accurate description; there's no type conversion involved.
2008-11-06 17:14:33 -07:00
Brian Paul
517401af07
mesa: update the shader programs->TexturesUsed array at link time
...
If an application never calls glUniform() to set sampler variable values
they'll remain 0 (the default value/unit).
Now call _mesa_update_shader_textures_used() at link time in case glUniform()
is never called. program->TextureUsed[] will then be correct for state
validation.
2008-11-06 15:24:18 -07:00
Xiang, Haihao
df94fd1764
i965: Always check vertex program.
...
Now i965 also uses the vertex program created by Mesa Core, but this vertex program
is not only depend on mesa state _NEW_PROGRAM, so always check the current vertex
program is updated or not. This fixes broken demo cubemap.
2008-11-06 15:25:55 +08:00
Gary Wong
0060d41549
i965: Implement missing OPCODE_NOISE3 instruction in fragment shaders.
...
OPCODE_NOISE4 coming later.
2008-11-05 20:38:05 -05:00
Brian Paul
1bfdab781b
mesa: Fix compiler warnings on Windows.
...
cherry-picked subset of a77976d2ee
2008-11-05 16:04:40 -07:00
Brian Paul
50beb4e6fd
mesa: fix a GLSL array indexing codegen bug
...
Expressions like array[i] + array[j] didn't work properly before.
2008-11-05 16:02:16 -07:00
Brian Paul
dea4826b84
mesa: remove extra \n from printf string
2008-11-05 09:34:15 -07:00
Brian Paul
949e7383b5
mesa: add Initialized field to gl_uniform struct, for debugging purposes only
2008-11-05 09:17:55 -07:00
Brian Paul
aab429c8df
added glsl/skinning.c test to test matrix blending/weighting
2008-11-04 16:56:59 -07:00
Brian Paul
6c8274078d
mesa: fix float-valued GLSL vertex attribute variables
...
The swizzle mask for such variables wasn't set up properly.
2008-11-04 16:55:18 -07:00
Brian Paul
35a9f1bccf
print err msg if unable to open shader file
2008-11-04 16:55:18 -07:00