summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mesa: revamp GLSL instruction emit codeBrian Paul2008-11-131-244/+381
| | | | | | | | | | | | | | | This is a step toward better array handling code. In particular, when more than one operand of an instruction uses indirect addressing, we'll need some temporary instructions and registers. By converting IR storage to instruction operands all in one place (emit_instruction()) we can be smarter about this. Also, somewhat better handling of dst register swizzle/writemask handling. This results in tighter writemasks on some instructions which is good for SOA execution. And, cleaner instruction commenting with inst_comment(). Next: remove some more dead code and additional clean-ups...
* mesa: make writemask_string() non-staticBrian Paul2008-11-132-4/+7
|
* mesa: remove some do-nothing GLSL codeBrian Paul2008-11-131-16/+0
|
* mesa: fix accidental regression in GLSL built-in texture matrix lookupBrian Paul2008-11-131-0/+1
| | | | Was broken by commit 9aca9a4b72b2a7b378e50bd88f9c3324d07375ec.
* mesa: use the tighter definition of GLSL ftransform() from the gallium branchesBrian Paul2008-11-132-31/+40
|
* mesa: remove unused/obsolete __NormalMatrixTranspose matrixBrian Paul2008-11-133-188/+184
|
* mesa: fix bug in GLSL built-in matrix state lookupBrian Paul2008-11-131-2/+5
|
* mesa: tweak program register printing for RelAddr caseBrian Paul2008-11-131-1/+1
|
* mesa: fix generation of fixed function state when no vp existsAlan Hourihane2008-11-131-43/+41
|
* i965: Upload state on primitive switch, don't just prepare it.Eric Anholt2008-11-121-0/+1
| | | | | This was a regression in 59b2c2adbbece27ccf54e58b598ea29cb3a5aa85 that broke blender, among other apps.
* i965: Fix VB refcount leak on aperture overflow.Eric Anholt2008-11-121-0/+1
|
* Add glsync demo program from jbarnes for testing vblank synchronization.Eric Anholt2008-11-123-0/+275
|
* i965: Fix up VS max_threads for G4X and removing a magic number.Eric Anholt2008-11-121-2/+14
| | | | | | 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).
* i965: Fix up SF max_threads.Eric Anholt2008-11-121-1/+2
| | | | | | 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.
* i965: Fix up clip min_nr_entries, preferred_nr_entries, and max_threads.Eric Anholt2008-11-122-2/+16
| | | | | | | | | 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).
* i965: Update WM maximum threads for G4X.Eric Anholt2008-11-121-2/+7
|
* i965: Add a big comment explaining my understanding of URB management.Eric Anholt2008-11-121-1/+38
| | | | | It shouldn't offer anything new over what's in the docs (except for G4X notes), but here it's all in one place.
* glFlush before CopySubBuffer, fix coordinates and extension name typo.Kristian Høgsberg2008-11-123-2/+8
|
* glx: fix xcb buildHanno Böck2008-11-121-0/+5
|
* mesa: fix version check in dinoshade.cBrian Paul2008-11-111-1/+1
|
* mesa: allow relative indexing into all register files and indirect dst ↵Brian Paul2008-11-113-128/+128
| | | | register indexing
* Don't mess with emacs tab width.Kristian Høgsberg2008-11-1143-43/+0
|
* intel: reset cliprect_mode to IGNORE_CLIPRECTS.Xiang, Haihao2008-11-111-1/+3
| | | | | | 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).
* mesa: restore the negate flag of dots in build_lighting.Xiang, Haihao2008-11-111-0/+3
| | | | | Dots is re-used if more than one light is enabled. Previously the negate flag of dots may affect next light.
* mesa: update new state for RasterPos like other operations.Xiang, Haihao2008-11-111-3/+3
| | | | This fixes a lighting issue when drawing a bitmap.
* mesa: new _mesa_is_pow_two() functionBrian2008-11-105-23/+33
|
* mesa: restore glapi/ prefix on #includeBrian Paul2008-11-102-2/+2
|
* mesa: fix some misc breakage caused by editing auto-generated files rather ↵Brian Paul2008-11-104-9/+21
| | | | | | | | than the python generators Specifically: #include "glapitable.h" in src/mesa/main/glapi/dispatch.h Call _mesa_bsearch() in src/mesa/main/enums.c.
* GLX: fix out-of-bounds memory issue in indirect glAreTexturesResident()Brian Paul2008-11-106-165/+141
| | | | | | | | | | | | | | | | 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 919ec22ecf72aa163e1b97d8c7381002131ed32c (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.
* dri: alloc __DRIscreen object with calloc()Brian Paul2008-11-101-1/+1
|
* mesa: track initialization status of uniform variables. Plus, asst clean-ups.Brian Paul2008-11-107-31/+52
|
* mesa: initial support for uniform variable initializers.Brian Paul2008-11-101-5/+22
| | | | | This lets one specify initial values for uniforms in the code, avoiding the need to call glUniform() in some cases.
* mesa: fix logic error in GLSL linker when looking for main() shadersBrian Paul2008-11-101-5/+10
|
* mesa: allows 'f' suffix on GLSL float literalsBrian Paul2008-11-102-6/+16
|
* undo accidental changes to multitex.frag shaderBrian Paul2008-11-101-22/+2
|
* mesa: remove OPCODE_INT #defineBrian2008-11-081-3/+0
|
* mesa: use NRM3 in emit_normalize_vec3() when drivers are readyBrian2008-11-081-0/+5
|
* mesa: add support for 'centroid' qualifier in GLSL 1.20Brian Paul2008-11-0711-2598/+2706
|
* mesa: add support for 'invariant' keyword for GLSL 1.20Brian Paul2008-11-0711-2609/+2749
|
* mesa: reformat comments, rewrap lines, etc for a little better readabilityBrian Paul2008-11-072-402/+418
|
* mesa: forgot sqrt in NRM3/4 instructionsBrian Paul2008-11-071-2/+2
|
* mesa: fix opcode table order bugBrian Paul2008-11-071-2/+2
|
* mesa: add GLSL support for DP2, NRM3, NRM4 instructions (not actually ↵Brian Paul2008-11-074-3/+18
| | | | emitted yet though)
* mesa: added DP2, DP2A instructionsBrian Paul2008-11-073-2/+32
|
* mesa: added AND/OR/NOT/XOR instructionsBrian Paul2008-11-073-23/+199
|
* mesa: include shader/prog_instruction.hBrian Paul2008-11-071-0/+1
| | | | Seems to fix a mysteriously missing build dependency.
* mesa: added OPCODE_NRM3/NRM4 instructions for vector normalization.Brian Paul2008-11-073-0/+45
| | | | | | We may emit these instructions from GLSL instead of DP3/RCP/MUL. Also, implement SSG (set sign) instruction in the interpreter.
* mesa: use _bfc0 instead of _col0 when building back face lighting.Xiang, Haihao2008-11-071-3/+2
|
* mesa: rename OPCODE_INT -> OPCODE_TRUNCBrian Paul2008-11-065-18/+21
| | | | Trunc is a more accurate description; there's no type conversion involved.
* mesa: update the shader programs->TexturesUsed array at link timeBrian Paul2008-11-063-4/+26
| | | | | | | | 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.