summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri
AgeCommit message (Collapse)Author
2009-02-21mesa: re-org texgen stateBrian Paul
New gl_texgen struct allows quite a bit of code reduction.
2009-02-21intel: Fix intelSetTexBuffer miptree leak.Kristian Høgsberg
The intelImage also holds a reference to the miptree, so unref that as well.
2009-02-21intel: tell libdrm whether we want a cpu-ready or gpu-ready BO for regions.Eric Anholt
This lets us avoid allocing new buffers for renderbuffers, finalized miptrees, and PBO-uploaded textures when there's an unreferenced but still active one cached, while also avoiding CPU waits for batchbuffers and CPU-uploaded textures. The size of BOs allocated for a desktop running current GL cairogears on i915 is cut in half with this. Note that this means we require libdrm 2.4.5.
2009-02-21i965: Fix render target read domains.Eric Anholt
We were asking for something illegal (write_domain != 0 && read_domains != write_domain) because at the time of writing the region surfaces were used for texturing occasionally as well, and we weren't really clear on the model GEM was going to use. This reliably triggered a kernel bug with domain handling, resulting in oglconform mustpass.c failure. Of course, it only became visible after 01bc4d441fd6821ad9fc20d5e9544e4e587e4ff0 cleaned up some gratuitous flushing.
2009-02-20i965: use the new prog_instruction::TexShadow fieldBrian Paul
GLSL shadow() sampler calls are properly propogated down to the driver now. The glean glsl1 shadow() tests work (except for the alpha channel).
2009-02-20i965: check depth_mode in translate_tex_format() for MESA_FORMAT_S8_Z24Brian Paul
Note that I24X8 vs. A24X8 vs. L24X8 doesn't seem to make any difference for texture/shadow compare, however.
2009-02-20i965: separate emit_op() and emit_tex_op() functionsBrian Paul
2009-02-20i965: update comment, use const qualifierBrian Paul
2009-02-20i965: var renaming, clean-upBrian Paul
2009-02-20i965: added commentBrian Paul
2009-02-20intel: fix datatype typo, s/GLboolean/GLuint/Brian Paul
Fixes mysterious failures in glean glsl1 test.
2009-02-20i965: additional debug outputBrian Paul
2009-02-17intel: Fix tri clear to do FBO color attachments as well.Eric Anholt
This is a 2% win in fbo_firecube, and would avoid a sw fallback for masked clears.
2009-02-17i965: Fix fallback on stencil drawing to fbo when the visual lacks stencil.Eric Anholt
Noticed this with the fbotexture demo.
2009-02-17intel: Clean up several 965 memory leaks on context destroy.Eric Anholt
2009-02-16i965: tell GLSL compiler to emit code using condition codesBrian Paul
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.
2009-02-14r300: Redirect constant TEX coordinatesNicolai Haehnle
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 <nhaehnle@gmail.com>
2009-02-13i965: rewrite the code for handling shader subroutine callsBrian Paul
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.
2009-02-13i965: add missing break for OPCODE_RET caseBrian Paul
This doesn't effect correctness, but we were emitting an extraneous ADD.
2009-02-13i965: the return value of translate_insn() is never used. Make it void.Brian Paul
2009-02-13i965: minor clean-upsBrian Paul
2009-02-13i965: code clean-ups, comments, and minor refactoringBrian Paul
2009-02-13i965: updated commentsBrian Paul
2009-02-13intel: turn on GL_ARB_shading_language_120Brian Paul
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.
2009-02-13i965: more reformatting/clean-upBrian Paul
2009-02-13i965: s/__inline/INLINE/Brian Paul
2009-02-13i965: formatting and indentation fixesBrian Paul
2009-02-13i965: fix inconsistant indentation in brw_wm.cBrian Paul
2009-02-11Fix an i965 assertion failure on glClear()Robert Ellison
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.
2009-02-10intel: Add x8r8g8b8 visuals to DRI1 fbconfigs alongside a8r8gb8.Eric Anholt
This involved fixing driConcatConfigs to not return const (which had made a mess of a previous patch too).
2009-02-10sis: fix signedness warningsEric Anholt
2009-02-10trident: Fix signedness warning.Eric Anholt
2009-02-10tdfx: Fix begin/endquery for current API.Eric Anholt
2009-02-10intel: Don't do the extra MI_FLUSH in flushing except when doing glFlush().Eric Anholt
Everything other than "make sure the last rendering ends up visible on the screen" doesn't need that behavior.
2009-02-10intel: Speed up glDrawPixels(GL_ALPHA) by using an alpha texture format.Eric Anholt
2009-02-10intel: Fix some state leakage of {Client,}ActiveTexture in metaops.Eric Anholt
Found while debugging cairo-gl.
2009-02-10intel: don't crash when dri2 tells us about buffers we don't care about.Eric Anholt
2009-02-10Merge commit 'origin/gallium-master-merge'Brian Paul
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
2009-02-10intel: minor reformatting, commentsBrian Paul
2009-02-10gallium: Fixups for driCreateConfigs MSAA support.Michel Dänzer
Add the MSAA samples array or make sure its contents are initialized.
2009-02-09i965: need to disable current shader, if any, in intel_clear_tris()Brian Paul
Fixes bad background in all the progs/glsl/ tests.
2009-02-09re-add MSAA supportBrian Paul
(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.
2009-02-09mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul
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
2009-02-07radeon: remove include that breaks build in !OLD_PACKET pathDave Airlie
this path isn't enabled by default in any case.
2009-02-04intel: Decode MI operands using specific length masksChris Wilson
The MI opcodes have different variable length masks, so use an operand specific mask to decode the length.
2009-02-04intel: Correct decoding of 3DSTATE_PIXEL_SHADER_CONSTANTSChris Wilson
A couple of minor typos that proclaimed an error in the wrong command, and failed to offset the mask.
2009-02-04intel: Fix fbo_firecube regression with FBconfigs change.Eric Anholt
By selecting a 4444 texture format due to a bad test, we hit the intel_update_wrapper error path, and despite the appearance of error handling in it and its callers, the desired behavior (software fallback) doesn't occur.
2009-02-04r300: make the macros safe. add missing parenthesis.Maciej Cencora
2009-02-04r300: Fix EXP2 fogMaciej Cencora
2009-02-03intel: Fix commented-out glViewport in intel_meta_set_passthrough_transform.Eric Anholt
Too much commit -a while debugging.