aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i915/i915_vtbl.c
Commit message (Collapse)AuthorAgeFilesLines
* i915: Remove gen6+ batchbuffer support.Eric Anholt2013-06-281-3/+3
| | | | | | | | While i915 does have hardware contexts in hardware, we don't expect there to ever be SW support for it (given that support hasn't even made it back to gen5 or gen4). Reviewed-by: Kenneth Graunke <[email protected]>
* i915: Remove all the HiZ code from i915.Eric Anholt2013-06-281-9/+0
| | | | | | v2: Remove extra struct forward declaration (change by Ken) Reviewed-by: Kenneth Graunke <[email protected]>
* intel: Make intel_region's pitch be bytes instead of pixels.Eric Anholt2013-01-181-1/+1
| | | | | | | | | | | | We almost never want a stride in pixels -- if you're doing anything with a stride, you're specifying an offset or incrementing a pointer, and in both cases you had to multiply by cpp to get the bytes value you wanted. But worse, on the way to creating a region from a new tiled BO, we divided by cpp to get pitch in pixels, and for an RGB32 buffer (an upcoming change) the pitch wouldn't divide exactly, and we'd end up with a wrong stride in our region. Reviewed-by: Kenneth Graunke <[email protected]>
* i915: move the FALLBACK_DRAW_OFFSET check outside the drawing rect checkYuanhan Liu2012-03-071-4/+3
| | | | | | | | | | | | | We have to do fallback when the 'Clipped Drawing Rectangle X/Y Max' exceed the hardware's limit no matter the drawing rectangle offset changed or not. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46665 NOTE: This is a candidate for stable release branches. Signed-off-by: Yuanhan Liu <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* intel: Pass the gl_renderbuffer to render_target_supported() vtable method.Eric Anholt2012-01-271-1/+4
| | | | | | I'm going to want to go looking at it for an integer texture fix. NOTE: This is a candidate for the 8.0 branch.
* intel: use intel_rb_format() to get renderbuffer formatBrian Paul2012-01-241-3/+3
| | | | This will make future changes cleaner and less invasive.
* i915: Fix build since hiz merge.Eric Anholt2011-11-231-8/+9
| | | | | | | | v2: Guard against rb->mt being NULL, since we may enter the draw regions path before intel_prepare_render() has been called to set them. Reviewed-by: Chad Versace <[email protected]> (v1)
* intel: Add the context to the render_target_supported() vtbl method.Eric Anholt2011-11-221-1/+1
| | | | | | | We're going to want to provide different answers per chipset generation. Reviewed-by: Kenneth Graunke <[email protected]>
* intel: Remove unused HiZ functionsChad Versace2011-11-221-9/+0
| | | | | | | | | | | | | | Remove the following functions: i830_hiz_resolve_noop i915_hiz_resolve_noop brw_hiz_resolve_noop My original strategy for how intel->vtbl.resolve_*buffer was used has substantially changed. The above functions are no longer called in the current strategy. Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* i915: make i830/i915_hiz_resolve_noop() staticBrian Paul2011-10-181-1/+1
|
* intel: Add HiZ operations to intel_context::vtbl for all driversChad Versace2011-10-181-0/+9
| | | | | | | | | | | | | Add the following to the vtbl: hiz_resolve_depthbuffer hiz_resolve_hizbuffer For all drivers for which HiZ is not enabled, the methods are set to be no-ops. If HiZ is enabled, the methods are currently to set to empty stubs. Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Convert from GLboolean to 'bool' from stdbool.h.Kenneth Graunke2011-10-181-8/+8
| | | | | | | | | | | | | | | | | I initially produced the patch using this bash command: for file in {intel,i915,i965}/*.{c,cpp,h}; do [ ! -h $file ] && sed -i 's/GLboolean/bool/g' $file && sed -i 's/GL_TRUE/true/g' $file && sed -i 's/GL_FALSE/false/g' $file; done Then I manually added #include <stdbool.h> to fix compilation errors, and converted a few functions back to GLboolean that were used in core Mesa's function pointer table to avoid "incompatible pointer" warnings. Finally, I cleaned up some whitespace issues introduced by the change. Signed-off-by: Kenneth Graunke <[email protected]> Acked-by: Chad Versace <[email protected]> Acked-by: Paul Berry <[email protected]>
* i915,i830: Remove dead HiZ assertions in *update_draw_buffer()Chad Versace2011-10-071-2/+0
| | | | | | | | | | | | i915 and i830 hardware doesn't have HiZ, so remove all HiZ related assertions from *update_draw_buffer(). I've removed the dead format checks completely rather than replace them with more appropriate checks. This doesn't reduce "assertion coverage", however, because when I added these HiZ related assertions in c8fdf66 there were no pre-existing checks there. Signed-off-by: Chad Versace <[email protected]>
* intel: Rename region->buffer to region->bo, and remove accessor function.Eric Anholt2011-09-261-4/+4
| | | | | | | We call all the other drm_intel_bo pointers in intel/*.h "bo", so this one was rather out of place. Acked-by: Kenneth Graunke <[email protected]>
* i915: Add support for HW rendering with no color draw buffer.Eric Anholt2011-07-181-51/+51
| | | | | | | This is useful for shadow map generation. Tested with glsl-bug-22603, which rendered the depth textures with fallbacks before. Acked-by: Chad Versace <[email protected]>
* i915: Make stencil test for no-stencil handling match depth test.Eric Anholt2011-07-181-2/+1
| | | | | | i915_update_draw_buffers() already handles the fallback bit for missing stencil region, so here we just need to handle whether the GL thinks we have stencil data or not (and disable the test if so).
* i915: Disable the depth test whenever we don't have a depth buffer.Eric Anholt2011-07-181-2/+1
| | | | | | | | | | | | | We were disabling it once at the moment we changed draw buffers, but later enabling of depth test could turn it back on. Fixes fbo-nodepth-test. Note that ctx->DrawBuffer has to be checked because during context create we get called while it's still unset. However, we know we'll get an intel_draw_buffer() after that, so it's safe to make a silly choice at this point. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=30080
* i915: Remove i965 paths from i915_update_drawbuffer() and i830's too.Eric Anholt2011-07-181-56/+10
| | | | Reviewed-by: Chad Versace <[email protected]>
* intel: Move intel_draw_buffers() code into each driver.Eric Anholt2011-07-181-0/+200
| | | | | | | | The illusion of shared code here wasn't fooling anybody. It was tempting to keep i830 and i915 still shared, but I think I actually want to make them diverge shortly. Reviewed-by: Chad Versace <[email protected]>
* intel: Rely on intel_region_reference()'s support of *dst != NULL.Eric Anholt2011-07-071-2/+0
| | | | Reviewed-by: Chad Versace <[email protected]>
* i965: Don't bother telling swrast_setup about state updates until fallback.Eric Anholt2011-06-241-0/+2
| | | | Reviewed-by: Ian Romanick <[email protected]>
* i965: Don't bother telling tnl about state updates unless we fall back.Eric Anholt2011-06-241-0/+11
| | | | | | This was sucking up 1% of the CPU on 3DMMES. Reviewed-by: Ian Romanick <[email protected]>
* intel: Move the draw_x/draw_y to the renderbuffer where it belongs.Eric Anholt2011-06-131-10/+18
| | | | | | | | | | | | | | | | It was originally located in the region because the tracking of depth/color buffers was on the regions, and getting back to the irb would have been tricky. Now, we're keying off of the renderbuffer in more places, which means we can move these fields where they belong. This could fix potential rendering failure with a single texture having multiple images attached to different renderbuffers across shareCtx (as far as I can tell, this was the only failure we could cause, since anything else should trigger intel_render_texture in between, for example a BindFramebuffer). Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* intel: Add is_hiz_depth_format() to intel_contex.vtblChad Versace2011-05-251-0/+9
| | | | | | | | | Given a format, is_hiz_depth_format() indicates if HiZ can be enabled on a depthbuffer of that format. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* i915: Gut all remaining bits of hardware fogIan Romanick2011-04-211-9/+0
| | | | | | | | | | | None of this ever gets used. Fog is always calculated by a fragment program. Even though the fixed-function fog unit is never used, state updates are still sent to the hardware. Removing those spurious state updates can't hurt performance. Reviewed-by: Eric Anholt <[email protected]> Acked-by: Corbin Simpson <[email protected]> Acked-by: Alex Deucher <[email protected]>
* i915: Detect allocation failure of batch bufferChris Wilson2011-03-291-0/+4
| | | | Signed-off-by: Chris Wilson <[email protected]>
* i915: Emit a single relocation per vboChris Wilson2011-02-211-0/+3
| | | | | | | | | Reducing the number of relocations has lots of nice knock-on effects, not least including reducing batch buffer size, auxilliary array sizes (vmalloced and copied into the kernel), processing of uncached relocations etc. Signed-off-by: Chris Wilson <[email protected]>
* i915: Separate BLEND from general context state.Chris Wilson2011-02-211-0/+10
| | | | Signed-off-by: Chris Wilson <[email protected]>
* i915: suppress repeated sampler state emissionChris Wilson2011-02-211-0/+10
| | | | Signed-off-by: Chris Wilson <[email protected]>
* intel: use pwrite for batchChris Wilson2011-02-211-6/+4
| | | | | | | | | | | It's faster. Not only is the memcpy more efficiently performed in the kernel (making up for the system call overhead), but by not using mmap we remove the greater overhead of tracking the vma of every batch. And it means we can read back from the batch buffer without incurring the cost of a uncached read through the GTT. Signed-off-by: Chris Wilson <[email protected]>
* i915: Drop old checks for the settexoffset hack.Eric Anholt2011-01-071-9/+3
|
* intel: Add a vtbl hook for determining if a format is renderable.Eric Anholt2011-01-071-18/+23
| | | | | | | By relying on just intel_span_supports_format, some formats that aren't supported pre-gen4 were not reporting FBO incomplete. And we also complained in stderr when it happened on i915 because draw_region gets called before framebuffer completeness validation.
* i965: Add support for using the BLT ring on gen6.Eric Anholt2010-12-131-2/+3
|
* Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg2010-10-131-1/+1
|
* i915: Silence unused variable warning in non-debug builds.Vinson Lee2010-10-081-0/+1
| | | | | | Fixes this GCC warning. i915_vtbl.c: In function 'i915_assert_not_dirty': i915_vtbl.c:670: warning: unused variable 'dirty'
* intel: Change dri_bo_* to drm_intel_bo* to consistently use new API.Eric Anholt2010-06-081-2/+2
| | | | | The slightly less mechanical change of converting the emit_reloc calls will follow.
* i915: Only emit a MI_FLUSH when the drawing rectangle offset changes.Chris Wilson2010-06-051-8/+23
| | | | Signed-off-by: Chris Wilson <[email protected]>
* i915: Fix off-by-one for drawing rectangle.Chris Wilson2010-06-051-2/+2
| | | | | | | | | | | | | | | The drawing rectangle is given in *inclusive* pixel values, so the range is only [0,2047]. Hence when rendering to a 2048 wide target, such as an extended desktop, we would issue an illegal instruction zeroing the draw area. Fixes: Bug 27408: Primary and Secondary display blanks in extended desktop mode with Compiz enabled https://bugs.freedesktop.org/show_bug.cgi?id=27408 Signed-off-by: Chris Wilson <[email protected]>
* i915: Inhibit render cache flush when changing drawing rectangle offset.Chris Wilson2010-06-051-1/+1
| | | | Signed-off-by: Chris Wilson <[email protected]>
* i915: Use x,y drawing offsets instead of changing buffer offsets.Eric Anholt2010-03-031-12/+38
| | | | This should fix rendering into mipmaps of tiled textures.
* i915: update render buffers at prepare_render timeJesse Barnes2010-02-181-0/+1
| | | | | We need to do this before we emit any state dependent on the current render buffers.
* i915: Remove unnecessary headers.Vinson Lee2010-01-301-1/+0
|
* i915: Remove unused initial and current state, now that there's nothing else.Eric Anholt2010-01-281-7/+4
|
* intel: Remove long-disabled meta readpixels, and associated meta support.Eric Anholt2010-01-281-33/+9
|
* Merge branch 'mesa_7_7_branch'Brian Paul2010-01-251-1/+0
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/intel/intel_screen.c src/mesa/drivers/dri/intel/intel_swapbuffers.c src/mesa/drivers/dri/r300/r300_emit.c src/mesa/drivers/dri/r300/r300_ioctl.c src/mesa/drivers/dri/r300/r300_tex.c src/mesa/drivers/dri/r300/r300_texstate.c
| * i915: Remove unnecessary headers.Vinson Lee2010-01-221-1/+0
| |
* | dri: Remove unnecessary glapi headers.Chia-I Wu2010-01-211-2/+0
| | | | | | | | They are not used at all.
* | intel: Drop more cliprect bookkeepingKristian Høgsberg2010-01-041-30/+16
| |
* | intel: Drop batchbuffer cliprect_mode trackingKristian Høgsberg2010-01-041-10/+6
| |
* | intel: Replace some gen3 IS_* checks with context structure usage.Eric Anholt2009-12-221-1/+1
| | | | | | | | Shaves 400 bytes or so from i915_dri.so.