summaryrefslogtreecommitdiff
path: root/src/mesa/drivers
AgeCommit message (Collapse)Author
2009-04-17dri: __driUtilMessage(): not all messages are errorsBrian Paul
2009-04-17i965: updated CURBE allocation codeBrian Paul
Now that we have real constant buffers, the demands on the CURBE are lessened. When we use real VS/WM constant buffers we only use the CURBE for clip planes.
2009-04-16Merge branch 'register-negate'Brian Paul
2009-04-16i915: Remove dead i830TexEnv and i915TexEnv.Eric Anholt
These LOD bias updates are covered by the texture state uploads in *_texstate.c now.
2009-04-16intel: Add support for argb1555, argb4444 FBOs and fix rgb565 fbo readpixels.Eric Anholt
Also enable them all regardless of screen bpp, as 32 bpp what I've been testing against, and haven't been able to detect any screen bpp-specific troubles with them.
2009-04-16i965: disable using immediate values for MOV instructionsBrian Paul
For some reason, MOV instructions using immediate src values don't seem to work reliably on the GLSL path. Disable them for now (falling back to const buffer reads). This fixes a bunch of glean glsl1 failures.
2009-04-16i965: minor debug output changesBrian Paul
2009-04-16i965: const buffer debug code (disabled)Brian Paul
2009-04-16i965: implement relative addressing for VS constant buffer readsBrian Paul
A scatter-read should be possible, but we're just using two READs for the time being.
2009-04-16i965: handle address reg in get_dst()Brian Paul
2009-04-16i965: fix const buffer temp register clobberingBrian Paul
Calls to release_tmps() were causing the temps holding constants to get recycled.
2009-04-16intel: fix small compressed texture uploadRoland Scheidegger
need to round up height for _mesa_copy_rect otherwise textures with height smaller than 4 won't get copied to the miptree at all Also fix up the confusing debug output (don't output unitialized values, and output if data is present and the compressed flag)
2009-04-15i965: Clean up output of WM SS state dump, and add format output.Eric Anholt
2009-04-15i915: Use DEBUG_WM (like 965) for printing the fragment program out.Eric Anholt
This is nice when paired with INTEL_DEBUG=batch for debugging what's going out to the hardware.
2009-04-15i915: Add decode of dest buffer variables (destination format)Eric Anholt
2009-04-15intel: Fix segfault when doing SW mipmap generation with a PBO texture upload.Eric Anholt
Triggered in test-fbo from clutter since 37fb2d9b23eab5dbbb43a212c3475cb8016837d8.
2009-04-14mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul
There's really no need for two negation fields. This came from the GL_NV_fragment_program extension. The new, unified Negate bitfield applies after the absolute value step.
2009-04-14i965: fix VS constant buffer readsBrian Paul
This mostly came down to finding the right MRF incantation in the brw_dp_READ_4_vs() function. Note: this feature is still disabled (but getting close to done).
2009-04-14DRI2: Don't fault on NULL DrawBufferIan Romanick
It is possible for ctx->DrawBuffer to be NULL, so don't fault when that happens. This change is not being committed to master because it doesn't appear to be necessary there. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Cherry picked from mesa_7_4_branch, commit 49e0c74ddd91900fc4effb6d305d56e0563b456d
2009-04-14i965: checkpoint commit: VS constant buffersBrian Paul
Hook up a constant buffer, binding table, etc for the VS unit. This will allow using large constant buffers with vertex shaders. The new code is disabled at this time (use_const_buffer=FALSE).
2009-04-13dri glx: Swap before checking for cliprects.Younes Manton
We don't update drawables anymore unless they are completely uninitialized, so we need to swap even if we don't have cliprects yet, otherwise we never end up calling the driver's SwapBuffers(). The driver should update the drawable in its SwapBuffers() anyway. See 8e753d04045a82062ac34d3b2622eb9dba8af374, "dri glx: Fix dri_util::driBindContext" for the change that exposed it.
2009-04-10i965: remove unused varBrian Paul
2009-04-10i965: clean-up in prepare_wm_surfaces()Brian Paul
2009-04-10mesa: reduce makefile outputBrian Paul
2009-04-10i965: added null const_buffer pointer check in update_constant_buffer()Brian Paul
2009-04-10intel: added screen->dri2.loader null pointer check in intel_flush()Brian Paul
Fixes segfaults when rendering to front buffer.
2009-04-09i965: re-org of some of the new constant buffer codeBrian Paul
Plus, begin the new code for vertex shader const buffers.
2009-04-09i965: new SURF_INDEX_ macrosBrian Paul
Used to map drawables, textures and constant buffers to surface binding table indexes.
2009-04-09intel / DRI2: Accept fake front-buffer from loaderIan Romanick
Handle the loader returning a fake front-buffer. Since the driver never specifically requests a fake front-buffer, the driver assumes that it will never receive both a fake and a real front-buffer. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-09intel / DRI2: Track and flush front-buffer renderingIan Romanick
Track two flags: whether or not front-buffer rendering is currently enabled and whether or not front-buffer rendering has been enabled since the last glFlush. If the second flag is set, the front-buffer is flushed via a loader call back. If the first flag is cleared, the second flag is cleared at this time. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-09i965: free shader's constant buffer in brwDeleteProgram()Brian Paul
Fixes mem leak observed with texcombine test.
2009-04-08i965: set BRW_MASK_DISABLE flag in "send" instruction in brw_dp_READ_4()Brian Paul
This fixes the random results that were seen when fetching a constant inside an IF/ELSE clause. Disabling the execution mask ensures that all the components of the register are written.
2009-04-08i965: clean-ups, debug code in brw_wm_glsl.cBrian Paul
2009-04-08i965: init current_const[i].index = -1Brian Paul
2009-04-08i965: move the fetch_constants() call before setting conditional mod stateBrian Paul
Before, the instruction's CondUpdate field was mistakenly effecting the constant-fetch operation. Fixes progs/glsl/bump.c demo. But there are some other issues related to condition flags and IF/ELSE that need investigation...
2009-04-06intel: Avoid dri2 GetBuffers round-trips for internal Viewport calls.Eric Anholt
This gets us the savings for driver-internal viewport calls that dd1c68f15123a889a3ce9d2afe724e272d163e32 was attempting, without relying on Xlib internals or clients handling X events.
2009-04-06i965: Use GTT maps when available to upload vertex arrays and system VBOs.Eric Anholt
This speeds up OA on my GM45 by 21% (more than the original CPU cost of the upload path). We might still be able to squeeze a few more percent out by avoiding repeatedly mapping/unmapping buffers as we upload elements into them.
2009-04-06intel: Clean up some a leftover from sedding of bufmgr context->screen move.Eric Anholt
2009-04-06radeon: Expose a 32 bit RGBA fbconfig even when the screen depth is 16.Michel Dänzer
Otherwise current xserver / libGL no longer expose a 32 bit RGBA GLX visual, and compiz fails. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=20479 .
2009-04-03intel: #include texgetimage.hBrian Paul
2009-04-03mesa: move glGetTexImage(), glGetCompresssedTexImage() code into new fileBrian Paul
2009-04-03mesa: rename some gl_light fields to be clearerBrian Paul
EyeDirection -> SpotDirection _NormDirection -> _NormSpotDirection
2009-04-03i965: remove unused varBrian Paul
2009-04-03i965: more const buffer debug codeBrian Paul
2009-04-03i965: added brw_same_reg()Brian Paul
2009-04-03i965: s/GL_FALSE/BRW_COMPRESSION_NONE/Brian Paul
2009-04-03i965: another checkpoint commit of new constant buffer supportBrian Paul
Everything is in place now for using a true constant buffer for GLSL fragment shaders. Still some bugs to find though.
2009-04-03i965: fix response length param in brw_dp_READ_4()Brian Paul
We were accidentally clobbering the next register.
2009-04-03i965: change args to get_src_reg() to prep for new constant buffer supportBrian Paul
2009-04-03i965: check-point commit of new constant buffer supportBrian Paul
Currently, shader constants are stored in the GRF (loaded from the CURBE prior to shader execution). This severly limits the number of constants and temps that we can support. This new code will support (practically) unlimited size constant buffers and free up registers in the GRF. We allocate a new buffer object for the constants and read them with "Read" messages/instructions. When only a small number of constants are used, we can still use the old method. The code works for fragment shaders only (and is actually disabled) for now. Need to do the same thing for vertex shaders and need to add the necessary code-gen to fetch the constants which are referenced by the shader instructions.