aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri
Commit message (Collapse)AuthorAgeFilesLines
* i965: tell GLSL compiler to emit code using condition codesBrian Paul2009-02-161-0/+3
| | | | | | The default for EmitCondCodes got flipped when gallium-0.2 was merged. This fixes GLSL if/else/endif regressions. Drivers that use GLSL should always explicitly set the flag to be safe.
* r300: Redirect constant TEX coordinatesNicolai Haehnle2009-02-142-0/+32
| | | | | | | | | | | | | R3xx/R5xx fragment program texture constants must come from a hardware register instead of the constant file, so we redirect if necessary during the native rewrite phase. The symptoms of this bug started appearing when the Mesa fixed function texenvprogram code started using STATE_CURRENT_ATTRIB constants for texture coordinates when the corresponding attributes were constant across all vertices. Signed-off-by: Nicolai Haehnle <[email protected]>
* i965: rewrite the code for handling shader subroutine callsBrian Paul2009-02-136-64/+187
| | | | | | | | | | | | | | | | | | Previously, the prog_instruction::Data field was used to map original Mesa instructions to brw instructions in order to resolve subroutine calls. This was a rather tangled mess. Plus it's an obstacle to implementing dynamic allocation/growing of the instruction buffer (it's still a fixed size). Mesa's GLSL compiler emits a label for each subroutine and CAL instruction. Now we use those labels to patch the subroutine calls after code generation has been done. We just keep a list of all CAL instructions that needs patching and a list of all subroutine labels. It's a simple matter to resolve them. This also consolidates some redundant post-emit code between brw_vs_emit.c and brw_wm_glsl.c and removes some loops that cleared the prog_instruction::Data fields at the end. Plus, a bunch of new comments.
* i965: add missing break for OPCODE_RET caseBrian Paul2009-02-131-0/+1
| | | | This doesn't effect correctness, but we were emitting an extraneous ADD.
* i965: the return value of translate_insn() is never used. Make it void.Brian Paul2009-02-131-4/+3
|
* i965: minor clean-upsBrian Paul2009-02-131-27/+26
|
* i965: code clean-ups, comments, and minor refactoringBrian Paul2009-02-132-37/+65
|
* i965: updated commentsBrian Paul2009-02-131-17/+37
|
* intel: turn on GL_ARB_shading_language_120Brian Paul2009-02-131-4/+0
| | | | | It's done in the Mesa GLSL compiler. The only part of it that might matter in drivers is the centroid sampling option for MSAA.
* i965: more reformatting/clean-upBrian Paul2009-02-131-12/+10
|
* i965: s/__inline/INLINE/Brian Paul2009-02-131-4/+4
|
* i965: formatting and indentation fixesBrian Paul2009-02-131-17/+16
|
* i965: fix inconsistant indentation in brw_wm.cBrian Paul2009-02-131-37/+39
|
* Fix an i965 assertion failure on glClear()Robert Ellison2009-02-111-1/+1
| | | | | | | | | | | | | | | | | | | | While running conform with render-to-texture: conform -d 33 -v 2 -t -direct the i965 driver failed this assertion: intel_clear.c:77: intel_clear_tris: Assertion `(mask & ~((1 << BUFFER_BACK_LEFT) | (1 << BUFFER_FRONT_LEFT) | (1 << BUFFER_DEPTH) | (1 << BUFFER_STENCIL))) == 0' failed. The problem is that intel_clear_tris() is called by intelClear() to clear any and all of the available color buffers, but intel_clear_tris() actually only handles the back left and front left color buffers; so the assertion fails as soon as you try to clear a non-standard color buffer. The fix is to have intelClear() only call intel_clear_tris() with buffers that intel_clear_tris() can support. intelClear() already backs down to _swrast_Clear() for all buffers that aren't handled explicitly.
* intel: Add x8r8g8b8 visuals to DRI1 fbconfigs alongside a8r8gb8.Eric Anholt2009-02-105-42/+54
| | | | | This involved fixing driConcatConfigs to not return const (which had made a mess of a previous patch too).
* sis: fix signedness warningsEric Anholt2009-02-102-5/+5
|
* trident: Fix signedness warning.Eric Anholt2009-02-101-1/+1
|
* tdfx: Fix begin/endquery for current API.Eric Anholt2009-02-101-4/+4
|
* intel: Don't do the extra MI_FLUSH in flushing except when doing glFlush().Eric Anholt2009-02-101-5/+17
| | | | | Everything other than "make sure the last rendering ends up visible on the screen" doesn't need that behavior.
* intel: Speed up glDrawPixels(GL_ALPHA) by using an alpha texture format.Eric Anholt2009-02-101-5/+6
|
* intel: Fix some state leakage of {Client,}ActiveTexture in metaops.Eric Anholt2009-02-102-0/+10
| | | | Found while debugging cairo-gl.
* intel: don't crash when dri2 tells us about buffers we don't care about.Eric Anholt2009-02-101-0/+3
|
* Merge commit 'origin/gallium-master-merge'Brian Paul2009-02-1018-126/+272
|\ | | | | | | | | | | | | | | | | | | | | | | This is the big merge of the gallium-0.2 branch into master. gallium-master-merge was just the staging area for it. Both gallium-0.2 and gallium-master-merge are considered closed now. Conflicts: progs/demos/Makefile src/mesa/main/state.c src/mesa/main/texenvprogram.c
| * gallium: Fixups for driCreateConfigs MSAA support.Michel Dänzer2009-02-1012-3/+28
| | | | | | | | Add the MSAA samples array or make sure its contents are initialized.
| * re-add MSAA supportBrian Paul2009-02-0911-34/+56
| | | | | | | | | | | | | | | | | | (cherry picked from commit f7d80aa00611917bc8ce637136d982b151b8f44f) This also involved adding the new MSAA fields to driCreateConfigs(). Also, re-add prog_instructions->Sampler field for i965 driver. Will have to revisit that.
| * mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul2009-02-096-91/+190
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit 'origin/gallium-0.2' into gallium-master-merge Conflicts: Makefile docs/relnotes-7.4.html docs/relnotes.html src/mesa/drivers/dri/i965/brw_wm.h src/mesa/main/imports.c src/mesa/main/mtypes.h src/mesa/main/texcompress.c src/mesa/main/texenvprogram.c src/mesa/main/version.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_draw.c
| | * i965: fix bug in pass0_precalc_mov()Brian Paul2009-01-291-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, "in-place" swizzles such as: MOV t, t.xxyx; were handled incorrectly. Fixed by splitting the one loop into two loops so we get all the refs before assigning them (to avoid potential clobbering). (cherry picked from master/commit faa48915d27634a12f123eaa6e954ec79565e365)
| | * i965: widen per-texture bitfields for 16 texture image unitsBrian Paul2009-01-291-5/+5
| | | | | | | | | | | | (cherry picked from master/commit f78c388b6c156cb155f089b00612f00919090a8e)
| | * intel: check if stencil test is enabled in intel_stencil_drawpixels()Brian Paul2009-01-291-1/+5
| | | | | | | | | | | | (cherry picked from master/commit 72ee0e247d799c85612c72bbd2257648e11fa583)
| | * intel: save/restore GL matrix mode in ↵Brian Paul2009-01-292-0/+4
| | | | | | | | | | | | | | | | | | intel_meta_set_passthrough_transform(), intel_meta_restore_transform() (cherry picked from master, commit 723648f2ee2a8e529063c9da84e9dff9c8c6be99)
| | * Merge commit 'origin/master' into gallium-0.2Alan Hourihane2009-01-2217-412/+578
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: windows/VC8/mesa/osmesa/osmesa.vcproj windows/VC8/progs/demos/gears.vcproj windows/VC8/progs/progs.sln
| | * \ Merge commit 'origin/master' into gallium-0.2Alan Hourihane2009-01-166-6/+50
| | |\ \ | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/shader/slang/slang_compile.c
| | * \ \ Merge commit 'origin/master' into gallium-0.2Alan Hourihane2009-01-1414-85/+77
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: docs/install.html docs/relnotes-7.3.html src/mesa/shader/slang/slang_codegen.c src/mesa/shader/slang/slang_compile.c src/mesa/shader/slang/slang_emit.c src/mesa/shader/slang/slang_preprocess.c src/mesa/shader/slang/slang_preprocess.h
| | * | | | i965: Fix GLSL FS DPH to return the right value instead of src0.w * src1.w.Eric Anholt2009-01-091-1/+1
| | | | | |
| | * | | | i965: Remove worrisome comment about _NEW_PROGRAM signaling fp change.Eric Anholt2009-01-091-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Everything now depends on either BRW_NEW_FRAGMENT_PROGRAM or BRW_NEW_VERTEX_PROGRAM.
| | * | | | mesa: Remove _Active and _UseTexEnvProgram flags from fragment programs.Eric Anholt2009-01-093-25/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a note in state.c about _Active deserving to die, and there were potential issues with it due to i965 forgetting to set _UseTexEnvProgram. Removing both simplifies things. Reviewed-by: Brian Paul <[email protected]>
| | * | | | i965: Remove dead brw_vs_tnl.cEric Anholt2009-01-093-61/+0
| | | | | |
| | * | | | i965: allow gl_FragData[0] usage when there's only one color bufferBrian Paul2009-01-091-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | If gl_FragData[0] is written but not gl_FragCOlor, use the former.
| | * | | | i965: init dst reg RelAddr field to zeroBrian Paul2009-01-091-1/+2
| | | | | |
| | * | | | i965: Note when we drop saturate mode on the floor in a VP.Eric Anholt2009-01-091-0/+5
| | | | | |
| | * | | | i965: Add support for LRP in VPs.Eric Anholt2009-01-091-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | Bug #19226.
| | * | | | Merge commit 'origin/master' into gallium-0.2Brian Paul2009-01-065-2/+26
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/common/dri_util.c
| | * \ \ \ \ Merge commit 'origin/master' into gallium-0.2Brian Paul2009-01-0211-135/+523
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/main/ffvertex_prog.c src/mesa/main/texenvprogram.c
| | * \ \ \ \ \ Merge commit 'origin/master' into gallium-0.2Brian Paul2008-12-3012-70/+25
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/main/config.h
| | * \ \ \ \ \ \ Merge commit 'origin/master' into gallium-0.2Brian Paul2008-12-194-92/+109
| | |\ \ \ \ \ \ \
| | * | | | | | | | i915: check WRAP_T instead of WRAP_R for cube map texture.Xiang, Haihao2008-12-181-1/+1
| | | | | | | | | |
| | * | | | | | | | i915: fix abort issue. (bug #19147)Xiang, Haihao2008-12-182-4/+24
| | | | | | | | | |
| | * | | | | | | | Merge commit 'origin/master' into gallium-0.2Brian Paul2008-12-164-2/+28
| | |\ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ Merge commit 'origin/master' into gallium-0.2Alan Hourihane2008-12-156-22/+603
| | |\ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ Merge commit 'origin/master' into gallium-0.2Alan Hourihane2008-12-122-2/+9
| | |\ \ \ \ \ \ \ \ \ \