summaryrefslogtreecommitdiff
path: root/src/mesa/drivers
AgeCommit message (Collapse)Author
2007-03-30Clean and update XMesa/XFree86 interface.George Sapountzis
Drop XMesaSetVisualDisplay(), XMesaReset(), no longer used. Add XMesaCopyContext() and move the GlxSetRenderTables() call for XGL within XMesaForceCurrent(). This is to make xserver/GL/mesa/X/xf86glx.c unaware of Mesa internals. Also, clean some ifdef's to make it clear that USE_XSHM and XFree86Server are mutually exclusive. Lastly, - move gcstruct.h from glxheader.h up to xmesa_xf86.h since it calls *gc->ops - drop GL/glxtokens.h from xm_api|dd.c, GLX tokens come from glcore.h and are used irrelevant of XFree86.
2007-03-28Add missing OSMesaColorClamp functionAlan Hourihane
2007-03-27i915tex compile fix (account for moved _UseTexEnvProgram var)Roland Scheidegger
2007-03-27Restore the UseTexEnvProgram logic.Brian
Was removed during glsl-compiler work. Still need to go back and revisit this because of the interaction with fragment shaders...
2007-03-27r300: Fix radeonUpdatePageFlipping() function.Roland Scheidegger
Always call driFlipRenderbuffers() with pfCurrentPage value, in case it's initially 1 instead of 0. May fix some issues with pageflip, the same fix was applied to r128, radeon and r200 (6e0e6eff05727ac8833c2b2dffc51c6619427e77).
2007-03-27r128, radeon, r200: Check ctx->WinSysDrawBuffer before calling function that ↵Roland Scheidegger
dereferences it. Same fix as for r300 (which fixed https://bugs.freedesktop.org/show_bug.cgi?id=10417), since it's likely an issue with those drivers too.
2007-03-27r300: Check ctx->WinSysDrawBuffer before calling function that dereferences it.Michel Dänzer
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=10417 .
2007-03-26fix r128 rendering, lockupsMiroslav Šustek
mis-count in offset led to mis-rendering and lockups; units are 4 bytes rather than 1. Noticed by Chris Salch. fixes bug 7994, possibly others.
2007-03-27 Fix compile errorZou Nan hai
2007-03-26r300: Remove a warning when vertex programs produce an unused outputNicolai Haehnle
As far as we know, the hardware prefers outputs packed tightly together with no holes caused by outputs that are not even read by the fragment program. Therefore, we slightly rewrite vertex programs in this case. It would be interesting to test this interaction between vertex programs and fragment programs further, because some of that rewrite may be unnecessary. However, play it safe for now and don't change the current behaviour.
2007-03-26r300: Whitespace cleanup (remove trailing spaces)Nicolai Haehnle
2007-03-26r300: Fix warnings that were introduced by the glsl mergeNicolai Haehnle
2007-03-26merge of glsl-compiler-1 branchBrian
2007-03-26i915tex: Make sure renderbuffers don't get deleted when flipping them.Michel Dänzer
Since the recent renderbuffer refcounting fixes it's no longer sufficient to just remove the old renderbuffer from the framebuffer and then add the new one because the former may decrease the reference count to 0 and delete the old renderbuffer.
2007-03-26nouveau: match drm version bumpBen Skeggs
2007-03-25Fix some renderbuffer reference counting issues. Also fixes a mem leak.Brian
2007-03-25i965: The given urb layout(maximal size of urb entries and theXiang, Haihao
values for nr of entries) should meet the requirement.
2007-03-25r300: Whitespace cleanup in r300_texmem.cNicolai Haehnle
2007-03-25r300: Whitespace cleanup in r300_texstate.cNicolai Haehnle
2007-03-25r300: Fix regression: unnecessary node indirectionNicolai Haehnle
The texture_rectangle fix introduced a bug where every texture instruction caused a new indirection.
2007-03-25nouveau: implement nv20Clear and nv20ScissorDave Airlie
Still crashes out on scissor regs
2007-03-24r300: Fix texture coordinate calculation for rectangle texturesNicolai Haehnle
R300 hardware takes texcoords in the range 0..1 even for rectangle textures. Previously, the necessary texcoord conversion was applied to the texture coordinate during vertex processing in a render stage. This is obviously wrong when fragment programs are used, which can calculate arbitrary coordinates for TEX instructions. Therefore, we now inject an appropriate MUL instruction before a TEX that reference a rectangle texture.
2007-03-24r300: No assertion when accessing incomplete texture images.Nicolai Haehnle
There used to be an assertion when a fragment program accesses an incomplete texture image. Work around this assertion. Note: I am unsure whether this workaround produces the desired result (0,0,0,1) on all hardware.
2007-03-24r300: Fix: KIL instruction don't require texturesNicolai Haehnle
When no textures were enabled, a KIL instruction triggered an assertion in r300_setup_rs_unit.
2007-03-24nouveau: some swtcl fixesBen Skeggs
2007-03-23Implement alpha buffer copy for SwapBuffers().Brian
Nicolai writes: When the pixmap pixel format has no alpha channel, the x11 driver (software rendering) adds a wrapped alpha channel on request. During SwapBuffers, this alpha channel is not copied from back to front, which means that the front buffer doesn't really contain the contents that the back buffer previously contained. A subsequent glReadPixels from the front buffer will return an incorrect result. The following patch attempts to fix this.
2007-03-23r300: Whitespace cleanup (remove trailing spaces)Nicolai Haehnle
2007-03-22fix for bug#10339Xiang, Haihao
StateFlags has been updated in _mesa_add_state_reference
2007-03-21merge from masterBrian
2007-03-21fix copy and paste bug from last commit in fog generation code for GL_LINEAR fogRoland Scheidegger
2007-03-21nouveau: update for drm interface changes (0.0.5)Ben Skeggs
2007-03-21nouveau: SwapBuffers() needs to perform a glFlush()Ben Skeggs
2007-03-21r300: Remove the program-global const_sin indexNicolai Haehnle
The index is no longer necessary to share constants between multiple SIN/COS/SCS instructions inside a single fragment program, and storing a tiny implementation detail like this in the fragment_program structure itself was just nasty.
2007-03-20r300: Whitespace cleanup (remove trailing spaces)Nicolai Haehnle
2007-03-20fix for bug#10347Xiang, Haihao
not sure which brw surface for DXT3 & DXT5, so restore the previous choice.(changed in commit 84081774e62a8af18e6bf894ea69f63b97dcfe96)
2007-03-20use passed target parameterAlan Hourihane
2007-03-20nouveau: fix typoBen Skeggs
2007-03-20nouveau: fail translate if we use too many params somehowBen Skeggs
2007-03-20nouveau: NVSDBG macroBen Skeggs
2007-03-19r300: Cleanup fragment program constant allocation, share constantsNicolai Haehnle
The constant/parameter allocation was significantly simplified, removing one unnecessary copy operation of parameters. The dirty state tracking is unchanged and far from optimal, since all state is always re-fetched. Constants and parameters are now emitted only once, which significantly reduces the resource pressure on larger programs.
2007-03-19r300: Fix special case (tmp.x <= 0) in fragment program LIT instructionNicolai Haehnle
Also, fix a typo in a related comment.
2007-03-19r300: Clear fragment program instruction slots on first useNicolai Haehnle
Make sure that instruction slots are fully initialized with NOPs during find_and_prepare_slot(). This fixes a bug when a fragment program was translated more than once (e.g. due to a second call to glProgramStringARB). This partially fixes glean/fragProg1.
2007-03-19r300: Dump fragment program after translation if RADEON_DEBUG=pixel is setNicolai Haehnle
2007-03-19r300: Whitespace cleanup (remove trailing spaces)Nicolai Haehnle
2007-03-19r300: Fix WRITEMASK handling when writing to result.depthNicolai Haehnle
This is a necessary change to emit the right instructions when writing to result.depth. However, even with this test, Z-write doesn't work properly, and I don't fully understand why. In addition to this, we'll at least have to disable early-Z, but even that doesn't seem to be enough.
2007-03-19r300: Streamlined fragment program LIT implementationNicolai Haehnle
Fix a bug in the LIT implementation (clamp exponent to 128, not 0.5) and change the implementation around. In theory, the new implementation needs as little as 5 instruction slots. Unfortunately, the dependency analysis in find_and_replace_slot is not strong enough to look at individual components of a register yet.
2007-03-19r300: Fix fragment program reorderingNicolai Haehnle
Do not move an instruction that writes to a temp forward past an instruction that reads the same temporary.
2007-03-19r300: Fragment program dumps format tex instructionsNicolai Haehnle
2007-03-19r300: Fix hw fragment program dumpNicolai Haehnle
Dumps of fragment programs were incorrect when the program consisted of multiple nodes. Also, improved the formatting a bit.
2007-03-19r300: Fix fragment program instruction pairing and register allocationNicolai Haehnle
There were a number of bugs related to the pairing of vector and scalar operations where swizzles ended up using the wrong source register, or an instruction was moved forward and ended up overwriting an aliased register. The new algorithm for register allocation is quite conservative and may run out of registers before necessary. On the plus side, It Just Works. Pairing is done whenever possible, and in more cases than before, so in practice this change should be a net win.