summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers
Commit message (Collapse)AuthorAgeFilesLines
* nouveau: Fix missing dri common symbols after automake conversion.Eric Anholt2012-01-261-1/+2
|
* radeon: Fix missing dri common symbols after automake conversion.Eric Anholt2012-01-262-2/+4
| | | | Reviewed-by: Matt Turner <[email protected]>
* dri: Move the compile of the common files to a convenience library.Eric Anholt2012-01-263-20/+43
| | | | Reviewed-by: Matt Turner <[email protected]>
* i915: Fix driver after automakeification.Eric Anholt2012-01-261-1/+9
|
* i965/vs: Use the sampler for VS pull constant loading on Ivybridge.Kenneth Graunke2012-01-261-0/+17
| | | | | | | | | | | | | | | | | | Substantially increases performance in GLBenchmark PRO: - 320x240 => 3.28x - 1920x1080 => 1.47x - 2560x1440 => 1.27x The LD message ignores the sampler unit index and SAMPLER_STATE pointer, instead relying on hard-wired default state. Thus, there's no need to worry about running out of sampler units or providing SAMPLER_STATE; this small patch should be all that's required. NOTE: This is a candidate for release branches. (It requires the preceding commit to compile.) Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Expose brw_set_sampler_message for use outside brw_eu_emit.c.Kenneth Graunke2012-01-262-10/+22
| | | | | | | | brw_SAMPLE is full of complex workarounds for original Broadwater hardware, and I'd rather avoid all that for my next Ivybridge patch. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* nouveau: include s_context.h to silence missing prototype warningsBrian Paul2012-01-261-0/+1
|
* i965/gen6/GT1: Increase max_vs_entries to 256.Paul Berry2012-01-251-1/+1
| | | | | | | | | | Previously, max_vs_entries was set to 128 for GT1, and 256 for GT2, based on the PRM (see Vol2, part1, p28). However, Bspec section 1.6.5 indicates that the maximum number of VS entries is 256 for GT1. No piglit regressions on GT1. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/gen6: Fix segfault in transform feedback to DYNAMIC_DRAW buffers.Paul Berry2012-01-251-1/+4
| | | | | | | | | | | | | | | | | | When storing data in a buffer of type DYNAMIC_DRAW, we don't create a drm_intel_bo for it; instead we store the data in system memory and defer allocation of the GPU buffer until it is needed. Therefore, in brw_update_sol_surface(), we can't just consult the "buffer" field of the intel_buffer_object structure; we need to call intel_bufferobj_buffer() to ensure that the deferred allocation occurs. This parallels a similar fix for gen7 (see commit ba6f4c9). Fixes piglit test EXT_transform_feedback/buffer-usage on gen6. This is a candidate for the 8.0 release branch. Reviewed-by: Eric Anholt <[email protected]>
* mesa: remove ctx->Const.sRGBCapableMarek Olšák2012-01-251-1/+0
| | | | | | | It always had the same value as ctx->Extensions.EXT_framebuffer_sRGB. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* meta: Detect currently-unsupported integer CopyTexSubImage and complain.Eric Anholt2012-01-241-0/+5
| | | | | | | | | | | | | | | | This code is unprepared for handling integer (particularly, the baseFormat of the TexFormat comes out as GL_RGBA, not GL_RGBA_INTEGER, so the direct call of Driver.ReadPixels crashes due to the int vs non-int error checking not having happened). I'm frankly tempted to convert this code to MapRenderbuffer/MapTexImage rather than doing it as meta ops, now that we have that support. Improves the remaining crash in Intel oglconform for int-textures to just a rendering failure. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Brian Paul <[email protected]>
* i965/gen6+: Work around GPU hangs with logic ops on integer textures.Eric Anholt2012-01-241-2/+7
| | | | | | | | This doesn't result in correct rendering -- GL requires that logic ops work, while the hardware specs say it doesn't do them. I'm not sure how we would want to handle this. NOTE: This is a candidate for the 8.0 branch.
* i965/gen6+: Disable blending, alpha test, and dither on integer FBOs.Eric Anholt2012-01-241-6/+23
| | | | | | | Fixes GPU hangs and some rendering failures in piglit EXT_texture_integer/fbo-blending NOTE: This is a candidate for the 8.0 branch.
* mesa/gdi: remove wmesa_set_renderbuffer_funcs() functionBrian Paul2012-01-241-50/+0
| | | | | | The code is no longer relevant. Note: this driver is probably broken now. There's no implementation of ctx->Driver.Map/UnmapRenderbuffer().
* dri/swrast: remove obsolete swrast_span.c file from source listBrian Paul2012-01-241-2/+1
|
* intel: use swrast code to map/unmap renderbuffers for swrast renderingBrian Paul2012-01-241-79/+2
|
* mesa: remove ctx->Driver.Map/UnmapTexture() hooksBrian Paul2012-01-241-2/+0
| | | | No longer used anywhere.
* nouveau: stop calling ctx->Driver.Map/UnmapTexture()Brian Paul2012-01-242-40/+4
| | | | And remove unused nouveau_texture_map/unmap()
* intel: remove intel_span_supports_format()Brian Paul2012-01-243-21/+0
| | | | It always returned True.
* dri/swrast: use swrast_renderbuffer typeBrian Paul2012-01-242-35/+41
|
* osmesa: use swrast_renderbufferBrian Paul2012-01-241-42/+45
|
* radeon: derive radeon_renderbuffer from swrast_renderbufferBrian Paul2012-01-2414-64/+73
|
* intel: derive intel_renderbuffer from swrast_renderbufferBrian Paul2012-01-247-49/+55
| | | | Drivers that rely on swrast need to do this, as with swrast_texture_image.
* xlib: derive xmesa_renderbuffer from swrast_renderbufferBrian Paul2012-01-244-24/+27
|
* intel: use intel_rb_format() to get renderbuffer formatBrian Paul2012-01-2411-42/+56
| | | | This will make future changes cleaner and less invasive.
* dri/swrast: rename swrast_renderbuffer to dri_swrast_renderbufferBrian Paul2012-01-242-14/+14
| | | | | To prevent name collision with future swrast_renderbuffer in the swrast module.
* xlib: remove xm_span.c and related codeBrian Paul2012-01-246-249/+1
|
* mesa: remove gl_renderbuffer::WrappedBrian Paul2012-01-244-13/+13
| | | | There's no such thing as renderbuffer wrappers anymore.
* mesa: rename gl_renderbuffer::Data to BufferBrian Paul2012-01-244-25/+25
| | | | To better indicate that this pointer to the malloc'd memory.
* mesa: remove gl_renderbuffer::DataTypeBrian Paul2012-01-2410-117/+17
|
* mesa: remove gl_renderbuffer:RowStride fieldBrian Paul2012-01-244-7/+2
|
* dri: remove all the obsolete spantmp filesBrian Paul2012-01-244-1259/+0
|
* radeon: remove obsolete GetRow/PutRow codeBrian Paul2012-01-242-167/+0
|
* nouveau: remove obsolete GetRow/PutRow codeBrian Paul2012-01-241-85/+0
|
* intel: remove most of the span Get/PutRow codeBrian Paul2012-01-242-134/+1
|
* dri/swrast: remove obsolete GetRow/PutRow codeBrian Paul2012-01-244-582/+0
|
* osmesa: remove obsolete GetRow/PutRow codeBrian Paul2012-01-241-430/+1
|
* xlib: remove obsolete GetRow/PutRow codeBrian Paul2012-01-241-1594/+3
|
* mesa: use gl_renderbuffer::Map for all depth/stencil accessesBrian Paul2012-01-242-10/+14
| | | | | Instead of using the obsolete gl_renderbuffer::Data field. Color buffer are still accessed through GetRow/PutRow().
* intel: make intel_renderbuffer_map/unmap() staticBrian Paul2012-01-242-6/+3
|
* swrast: s/Data/Map/ in swrast_texture_imageBrian Paul2012-01-245-21/+21
| | | | To indicate that it points to mapped texture memory.
* Revert "Always build shared glapi"Matt Turner2012-01-241-0/+2
| | | | | | | | | | | This reverts commit adefee50d954151f76150af80207081ae3c247d9. Shared glapi was never tested with --enable-xlib-glx and turns out to cause a lot of problems. Conflicts: configure.ac
* meta: Fallback for glBlitFramebuffer from a multisample surfaceIan Romanick2012-01-231-1/+6
| | | | | | | | NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44818
* i965/vs: Fix bogus assertion in emit_block_move()Paul Berry2012-01-231-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | i965 processes assignments of whole structures using vec4_visitor::emit_block_move, a recursive function which visits each element of a structure or array (to arbitrary nesting depth) and copies it from the source to the destination. Then it increments the source and destination register numbers so that further recursive invocations will copy the rest of the structure. In addition, it sets the swizzle field for the source register to an appropriate value of swizzle_for_size(...) for the size of each element being copied, so that later optimization passes won't be fooled into thinking that unused vector elements are live. This all works fine. However, emit_block_move also contains an assertion to verify, before setting the swizzle field for the source register, that the source register doesn't already contain a nontrivial swizzle. The intention is to make sure that the caller of emit_block_move hasn't already done some swizzling of the data before the call, which emit_block_move would then counteract when it overwrites the swizzle field. But the assertion is at the lowest level of nesting of emit_block_move, which means that after the first element is copied, instead of checking the swizzle field set by the caller, it checks the swizzle field used when moving the previous element. That means that if the structure contains elements of different vector sizes (which therefore require different swizzles), the assertion will erroneously fire. This patch moves the assertion from emit_block_move to the calling function, vec4_visitor::visit(ir_assignment *). Since the caller is non-recursive, the assertion will only happen once, and won't be fooled by emit_block_move's modification of the swizzle field. This patch also reverts commit fe006a7 (i965/vs: Fix swizzle related assertion), which attempted to fix the bug by making the assertion more lenient, but only worked properly for structures, arrays, and matrices in which each constituent vector is the same size. This fixes the problem described in comment 9 of https://bugs.freedesktop.org/show_bug.cgi?id=40865. Unfortunately, it doesn't fix the whole bug, since the test in question is also failing due to lack of register spilling support in the VS. Fixes piglit test vs-assign-varied-struct. No piglit regressions on Sandy Bridge. This is a candidate for the 8.0 release branch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40865#c9 Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Enable workaround-free math on gen7.Eric Anholt2012-01-231-2/+6
| | | | | | | | | This is similar to a commit that did the same for the FS. Shaves several more instructions off of the VS in Lightsmark, but no statistically significant performance difference (n=5). Reviewed-by: Kenneth Graunke <[email protected]>
* i965/vs: Use the embedded-comparison SEL on gen6+, like the FS does.Eric Anholt2012-01-231-6/+16
| | | | | | | Shaves a few instructions off of the VS in Lightsmark, but no statistically significant performance difference on gen7 (n=5). Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Fix border color on Sandybridge and Ivybridge.Kenneth Graunke2012-01-231-1/+7
| | | | | | | | | | | | | | | | | | | | While reading through the simulator, I found some interesting code that looks like it checks the sampler default color pointer against the bound set in STATE_BASE_ADDRESS. On failure, it appears to program it to the base address itself. So I decided to try programming a legitimate bound, and lo and behold, border color worked. +92 piglits on Sandybridge. Also fixes Lightsmark on Ivybridge. NOTE: This is a candidate for stable release branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=28924 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38868 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Yuanhan Liu <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* Fix underlinking in libOSMesa since commit adefee5 "Always build shared glapi"Jon TURNEY2012-01-231-0/+2
| | | | | | | | | | | | Since we now always build shared glapi, this exposes the fact that libOSMesa was underlinked when glapi was built shared. Fix this by doing the same thing as drivers/X11/Makefile already does, ensuring that the library is linked with the shared glapi library. (I'm not clear why we link with both glapi.a and glapi.so, so this may be all wrong) Signed-off-by: Jon TURNEY <[email protected]>
* dri: install dri_interface.hMatt Turner2012-01-221-0/+3
| | | | | | Broken in commit 129213e7. Reported-by Kai Wasserbäch <[email protected]>
* Fix mistake in 349845f7bAndrei Slăvoiu2012-01-211-1/+1
|