summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri
Commit message (Collapse)AuthorAgeFilesLines
* intel: Clip to window after calling Driver.TexImage2DIan Romanick2009-06-021-9/+8
| | | | | | | | | | This prevents the width / height from being clipped to the window size before the texture is allocated. This matches intelCopyTexImage1D. This should fix bug #21227 Signed-off-by: Ian Romanick <[email protected]> (cherry picked from commit 129f311673c99eb912d659023e50bc5f0ef53249)
* r300: Make sure to drop current hardware state reference to texture objects.Michel Dänzer2009-05-142-8/+21
| | | | Fixes potential texture object leaks.
* intel: added null ptr checkBrian Paul2009-05-131-1/+2
| | | | Fixes segfault in context tear-down when glClear was never called.
* intel: create a private gl_array_object for intel_clear_tris(), fix bug 21638Brian Paul2009-05-133-29/+75
| | | | | | | | | gl_array_object encapsulates a set of vertex arrays (see the GL_APPLE_vertex_array_object extension). Create a private gl_array_object for drawing the quad for intel_clear_tris() so we don't have to worry about the user's vertex array state. This fixes the no-op glClear bug #21638 and removes the need to call _mesa_PushClientAttrib() and _mesa_PopClientAttrib().
* Test either GL_FRONT_LEFT or GL_FRONT for front-buffer renderingIan Romanick2009-05-111-1/+2
| | | | | | | | | | | | For non-stereo visuals, which is all we support, we treat GL_FRONT_LEFT as GL_FRONT. However, they are technically different, and they have different enum values. Test for either one to determine if we're in front-buffer rendering mode. This fix was suggested by Pierre Willenbrock. Signed-off-by: Ian Romanick <[email protected]> (cherry picked from commit 2085cf24628be7cd297ab0f9ef5ce02bd5a006e2)
* r300: Increase reference count of texture objects referenced by current state.Michel Dänzer2009-04-304-9/+11
| | | | | | | Fixes a use-after-free reported in http://bugs.freedesktop.org/show_bug.cgi?id=20539, so this possibly fixes that bug. It has been confirmed to fix http://bugs.freedesktop.org/show_bug.cgi?id=17895 .
* R300: add quadpipe overridesAlex Deucher2009-04-281-4/+13
| | | | | RV410 SE chips only have 1 quadpipe. Also, handle other R300 chip with quadpipe override
* i965: avoid segfault in intel_update_renderbuffers() if using DRI1Brian Paul2009-04-281-3/+4
|
* i965: only upload constant buffer data when we actually need the const bufferBrian Paul2009-04-276-17/+17
| | | | | | | Make the use_const_buffer field per-program and only call the code which updates the constant buffer's data if the flag is set. This should undo the perf regression from 20f3497e4b6756e330f7b3f54e8acaa1d6c92052
* r300: always emit output insts after all KIL instsMaciej Cencora2009-04-272-3/+46
|
* intel: Fix more issues with the combined depth-stencil attachmentIan Romanick2009-04-241-6/+13
|
* intel: Initialize region ptr to prevent assertion in intel_region_referenceIan Romanick2009-04-241-1/+1
|
* intel / DRI2: When available, use DRI2GetBuffersWithFormatIan Romanick2009-04-242-16/+99
| | | | | | | | | | | This interface gives the driver two important features. First, it can allocate the (fake) front-buffer only when needed. Second, it can tell the buffer allocator the format of buffers being allocated. This enables support for back-buffer and depth-buffer with different bits per pixel. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]>
* i965: use drm_intel_gem_bo_map/unmap_gtt() when possible, otherwise ↵Brian Paul2009-04-241-5/+9
| | | | | | dri_bo_subdata() This wraps up the unfinished business from commit a9a363f8298e9d534e60e3d2869f8677138a1e7e
* i965: fix point size issueRoland Scheidegger2009-04-241-1/+1
| | | | | need to clamp point size to user set min/max values, even for constant point size. Fixes glean pointAtten test.
* i965: revert part of commit 4f4907d69f9020ce17aef21b6431d2dd65e01982Brian Paul2009-04-231-2/+2
| | | | | | | | | | | The drm_intel_gem_bo_map_gtt() call that replaced dri_bo_map() is producing errors like: intel_bufmgr_gem.c:689: Error preparing buffer map 39 (vp_const_buffer): Invalid argument . and returning NULL, causing a segfault in the memcpy(). Just reverting until we can get to the root issue...
* i915: fix fix for anisotropic filteringRoland Scheidegger2009-04-231-2/+7
| | | | forgot to commit the changes to actually support 4x aniso filtering...
* i965: Support drawing to FBO cube faces other than positive X.Eric Anholt2009-04-231-7/+11
| | | | Also fixes drawing to 3D texture depth levels.
* intel: Take advantage of GL_READ_ONLY_ARB to map to GEM bo_map write flag.Eric Anholt2009-04-232-5/+4
| | | | | This is a CPU win in general, but in particular reduces the pain of Mesa's calculation of min/max indices in DrawElements (wtf?).
* intel: fix max anisotropy supportedRoland Scheidegger2009-04-225-3/+7
| | | | | | i915 actually supports up to 4 (according to header file - not tested), i965 up to 16 (code already handled this but slightly broken), so don't use 2 for all chips, even though angular dependency is very high.
* i965: const correctnessBrian Paul2009-04-211-49/+49
|
* r300: r300 hw doesn't support any input modifiers in tex instsMaciej Cencora2009-04-211-2/+1
|
* r300: fix register-negate branch merge regressionMaciej Cencora2009-04-203-39/+12
|
* i965: use region width, height in brw_update_renderbuffer_surface()Brian Paul2009-04-181-2/+2
| | | | | Fixes a regression from commit 2c30fd84dfa052949a117c78d932b58c1f88b446 seen with DRI1.
* intel: #include polygon.h to silence warningBrian Paul2009-04-181-0/+1
|
* intel: Handle ARB_vertex_buffer_object state in intel_clear_tris().Michel Dänzer2009-04-181-0/+5
| | | | Fixes gearsvbo app by Michael Clark.
* intel: make sure polygon mode is set properly in intel_clear_tris()Brian Paul2009-04-171-0/+2
| | | | Fixes progs/glsl/skinning.c demo.
* i915: fix broken indirect constant buffer readsBrian Paul2009-04-173-51/+40
| | | | | | | | The READ message's msg_control value can be 0 or 1 to indicate that the Oword should be read into the lower or upper half of the target register. It seems that the other half of the register gets clobbered though. So we read into two dest registers then use a MOV to combine the upper/lower halves.
* dri: __driUtilMessage(): not all messages are errorsBrian Paul2009-04-171-1/+1
|
* i965: updated CURBE allocation codeBrian Paul2009-04-173-8/+15
| | | | | 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.
* Merge branch 'register-negate'Brian Paul2009-04-1614-109/+93
|\
| * mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul2009-04-1414-109/+93
| | | | | | | | | | | | 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.
* | i915: Remove dead i830TexEnv and i915TexEnv.Eric Anholt2009-04-165-182/+0
| | | | | | | | | | These LOD bias updates are covered by the texture state uploads in *_texstate.c now.
* | intel: Add support for argb1555, argb4444 FBOs and fix rgb565 fbo readpixels.Eric Anholt2009-04-169-125/+346
| | | | | | | | | | | | 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.
* | i965: disable using immediate values for MOV instructionsBrian Paul2009-04-161-1/+3
| | | | | | | | | | | | 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.
* | i965: minor debug output changesBrian Paul2009-04-161-3/+3
| |
* | i965: const buffer debug code (disabled)Brian Paul2009-04-161-0/+12
| |
* | i965: implement relative addressing for VS constant buffer readsBrian Paul2009-04-163-59/+115
| | | | | | | | | | A scatter-read should be possible, but we're just using two READs for the time being.
* | i965: handle address reg in get_dst()Brian Paul2009-04-161-0/+4
| |
* | i965: fix const buffer temp register clobberingBrian Paul2009-04-161-7/+18
| | | | | | | | | | Calls to release_tmps() were causing the temps holding constants to get recycled.
* | intel: fix small compressed texture uploadRoland Scheidegger2009-04-161-4/+5
| | | | | | | | | | | | | | 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)
* | i965: Clean up output of WM SS state dump, and add format output.Eric Anholt2009-04-151-3/+17
| |
* | i915: Use DEBUG_WM (like 965) for printing the fragment program out.Eric Anholt2009-04-151-4/+2
| | | | | | | | | | This is nice when paired with INTEL_DEBUG=batch for debugging what's going out to the hardware.
* | i915: Add decode of dest buffer variables (destination format)Eric Anholt2009-04-151-0/+30
| |
* | intel: Fix segfault when doing SW mipmap generation with a PBO texture upload.Eric Anholt2009-04-151-3/+10
|/ | | | | Triggered in test-fbo from clutter since 37fb2d9b23eab5dbbb43a212c3475cb8016837d8.
* i965: fix VS constant buffer readsBrian Paul2009-04-143-35/+25
| | | | | | | 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).
* DRI2: Don't fault on NULL DrawBufferIan Romanick2009-04-141-1/+1
| | | | | | | | | | 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 <[email protected]> Cherry picked from mesa_7_4_branch, commit 49e0c74ddd91900fc4effb6d305d56e0563b456d
* i965: checkpoint commit: VS constant buffersBrian Paul2009-04-1411-91/+477
| | | | | | 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).
* dri glx: Swap before checking for cliprects.Younes Manton2009-04-131-3/+3
| | | | | | | | | | | | 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.
* i965: remove unused varBrian Paul2009-04-101-1/+0
|