summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel/intel_context.c
AgeCommit message (Collapse)Author
2011-03-16android: Fix depth/stencil with i915c/i965c.Chia-I Wu
2011-03-16i915c: Add GL_OES_draw_texture support.Chia-I Wu
2011-02-24intel: Protect against waiting on a NULL render target boChris Wilson
If we fall back to software rendering due to the render target being absent (GPU hang or other error in creating the named target), then we do not need to nor should we wait upon the results. Reported-by: Magnus Kessler <Magnus.Kessler@gmx.net> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34656 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-23intel: gen3 is particular sensitive to batch sizeChris Wilson
... and prefers a small batch whereas gen4+ prefer a large batch to carry more state. Tuning using openarena/padman indicate that a batch size of just 4096 is best for those cases. Bugzilla: https://bugs.freedesktop.org/process_bug.cgi Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-21intel: use throttle ioctl for throttlingChris Wilson
Rather than waiting on the first batch after the last swapbuffers to be retired, call into the kernel to wait upon the retirement of any request less than 20ms old. This has the twofold advantage of (a) not blocking any other clients from utilizing the device whilst we wait and (b) we attain higher throughput without overloading the system. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-21intel: use pwrite for batchChris Wilson
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 <chris@chris-wilson.co.uk>
2011-02-12intel: Remove setup of the old dri/ meta code, which is now unused.Eric Anholt
2011-02-08mesa: remove _mesa_initialize_context_for_api()Brian Paul
Just add the gl_api parameter to _mesa_initialize_context().
2011-02-05mesa/965: add support for GL_EXT_framebuffer_sRGB (v2)Dave Airlie
This adds i965 support for GL_EXT_framebuffer_sRGB, it introduces a new constant to say that the driver can support sRGB enabled FBOs since enabling the extension doesn't mean the driver can actually support sRGB. Also adds the suggested state flush in the core code suggested by Brian. fix the ARB_fbo color encoding. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-01-07i915: Don't claim to support AL1616 when neither 830 nor 915 does it.Eric Anholt
Fixes an abort in fbo-generatemipmap-formats.
2011-01-04i965: Add support for SRGB DXT1 formats.Eric Anholt
This makes fbo-generatemipmap-formats GL_EXT_texture_sRGB-s3tc match fbo-generatemipmap-formats GL_EXT_texture_compression_s3tc and swrast in bad DXT1_RGBA alpha=0 handling, but it means we won't unpack and repack someone's textures into uncompressed SARGB8 format.
2011-01-04intel: Merge our choosetexformat fallbacks into core.Eric Anholt
We now share the type/format -> MESA_FORMAT_* mappings with software mesa, and the core supports most of the fallbacks hardware drivers will want.
2010-12-25intel: Only do frame throttling at glFlush time when using frontbuffer.Eric Anholt
This is the hack for input interactivity of frontbuffer rendering (like we do for backbuffer at intelDRI2Flush()) by waiting for the n-2 frame to complete before starting a new one. However, for an application doing multiple contexts or regular rebinding of a single context, this would end up lockstepping the CPU to the GPU because every unbind was considered the end of a frame. Improves WOW performance on my Ironlake by 48.8% (+/- 2.3%, n=5)
2010-12-06i965: Remove INTEL_DEBUG=glsl_force now that there's no brw_wm_glsl.cEric Anholt
2010-12-04intel: Add an env var override to execute for a different GPU revision.Eric Anholt
Sometimes I'm on the train and want to just read what's generated under INTEL_DEBUG=vs,wm for some code on another generation. Or, for the next gen enablement we'll want to dump aub files before we have the actual hardware. This will let us do that.
2010-11-10intel: Add a new B43 pci id.Robert Hooker
Signed-off-by: Robert Hooker <robert.hooker@canonical.com>
2010-11-09Revert "intel: Fix the client-side swapbuffers throttling."Eric Anholt
This reverts commit 76360d6abc9e0195bc5c373101ae616e68b2e6e6. On second thought, it turned out that sync objects also used the wait_rendering API like this, and would need the same treatment, and so wait_rendering itself is fixed in libdrm now.
2010-11-09intel: Fix the client-side swapbuffers throttling.Eric Anholt
We were asking for a wait to GTT read (all GPU rendering to it complete), instead of asking for all GPU reading from it to be complete. Prevents swapbuffers-based apps from running away with rendering, and produces a better input experience.
2010-11-03intel: Annotate debug printout checks with unlikely().Eric Anholt
This provides the optimizer with hints about code hotness, which we're quite certain about for debug printouts (or, rather, while we developers often hit the checks for debug printouts, we don't care about performance while doing so).
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2010-10-13Rename GLvisual and __GLcontextModes to struct gl_configKristian Høgsberg
2010-09-30i965: Update renderer strings for sandybridgeAdam Jackson
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-09-28i965: only allow SIMD8 kernel on sandybridge nowZhenyu Wang
Until we fixed SIMD16 kernel, force to SIMD8 on sandybridge now.
2010-09-20Fix typos in comments and debug output strings.Timo Wiren
Bug #30208.
2010-09-08dri: Unset current context and dispatch table when unbindingKristian Høgsberg
Otherwise, when we switch to an indirect glx context and then back, it looks like we're still current. https://bugs.freedesktop.org/show_bug.cgi?id=29977#c7 Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2010-08-25intel: Take an intel_screen pointer in intel_alloc_region_* functionsKristian Høgsberg
2010-08-23intel: Add support for MAX_SAMPLES=1 EXT_framebuffer_multisample.Eric Anholt
The spec specifically sets the minimum MAX_SAMPLES at 1 to allow exposing the extension on all implementations, so do so.
2010-07-30intel: Add missing header to intel_context.c.Vinson Lee
Fixes "implicit declaration of function _mesa_get_incomplete_framebuffer" warning.
2010-07-28intel: Implement EGL_KHR_surfaceless extensionKristian Høgsberg
2010-07-27intel: Remove unused intel/server filesKristian Høgsberg
2010-06-14intel: Remove long-dead comment about releasing texture heaps.Eric Anholt
BOs are stored in the bufmgr, which is freed as part of the screen structure.
2010-06-08intel: Change dri_bo_* to drm_intel_bo* to consistently use new API.Eric Anholt
The slightly less mechanical change of converting the emit_reloc calls will follow.
2010-06-04i915: Don't use XRGB8888 on 830 and 845.Eric Anholt
The support for XRGB8888 appeared in the 855 and 865, and this format is reserved on 830/845. This should fix a regression from b4a6169412819cc3a027c6a118f0537911145a30 that caused hangs in etracer on 845s. Bug #26557.
2010-05-23i965: Add support for all 8 possible ARB_draw_buffers in Mesa.Eric Anholt
We should be able to do 16, but are limited by Mesa's static buffer allocations.
2010-05-20intel: Throttle after doing copyregion/swapbuffers round tripKristian Høgsberg
Before we would throttle in the flush callback prior to round-tripping to the server to do copyregion or swapbuffer. Now, instead just note that we need to throttle and do it in intel_prepare_render(), which will be called after receiving the response from the server but before we start rendering the next frame. Even if the server also throttles us in swapbuffer, this just makes the throttling a no-op when we hit intel_prepare_render(). With that we can drop the using_dri2_swapbuffers hack and just always throttle.
2010-05-17i965: Add SF program disasm under INTEL_DEBUG=sf.Eric Anholt
2010-05-17intel: Call intel_draw_buffer() again after _mesa_make_current()Kristian Høgsberg
The initial call to intel_draw_buffers() happens when intel->ctx.DrawBuffer is still NULL. Call it again after calling _mesa_make_current(). https://bugs.freedesktop.org/show_bug.cgi?id=28112
2010-05-14i965: Add program dumping for INTEL_DEBUG=gs.Eric Anholt
2010-05-14i965: Support INTEL_DEBUG=clip to dump the clip program.Eric Anholt
2010-05-13intel: Don't update window system renderbuffers on TexImage.Eric Anholt
While sometimes rendering occurs in the form of blits for TexImage, it doesn't interact with the window system renderbuffers, so skip it.
2010-05-11intel: Drop viewport hack when we canKristian Høgsberg
2010-05-10intel: Also flush front buffer in glFinish()Kristian Høgsberg
2010-05-10intel: Drop intelFlush()Kristian Høgsberg
Now that intel_flush() deosn't use the needs_mi_flush argument, we can finally drop one of the two flush functions.
2010-05-10intel: Only flush fake front buffer on API level glFlush()Kristian Høgsberg
Without this patch, any old intel_flush() call will cause a round trip to the server and do a copy from fake to real front. We only actually guarantee that frontbuffer results show up when glFlush() ia called, so move the flushing to intel_glFlush(). We also need to flush fake to front before getting new buffers, but we just handle that manually.
2010-05-10intel: Mark frontbuffer dirty in intel_prepare_render()Kristian Høgsberg
Now that we have intel_prepare_render() in place, we can use it to mark the front buffer dirty if we're rendering to the front buffer once we get there.
2010-05-04i965: When an RB gets a new region, clear the old from the state cache.Eric Anholt
This prevents memory usage explosion in blender due to the state cache hanging on to old fake frontbuffer regions. Sigh at blender still using frontbuffer rendering. Bug #24119.
2010-04-28intel: Only register ES2 extensions for ES2 contextsKristian Høgsberg
2010-04-28dri: Add DRI entrypoints to create a context for a given APIKristian Høgsberg
2010-04-21intel: Clean up chipset name and gen num for IronlakeZhenyu Wang
Rename old IGDNG to Ironlake, and set 'gen' number for Ironlake as 5, so tracking the features with generation num instead of special is_ironlake flag. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2010-03-30intel: Bump intel driver date to later than the date on the 7.8 branchIan Romanick