summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* mesa: use gl_renderbuffer::Map for all depth/stencil accessesBrian Paul2012-01-244-47/+124
| | | | | 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
|
* mesa: add new gl_renderbuffer fieldsBrian Paul2012-01-241-1/+6
| | | | | | | | | These are temporary, actually, but they'll make follow-on work easier to implement in a step-by-step manner. Eventually the Map and RowStrideBytes fields will go into a new swrast_renderbuffer type, but adding that type now would involve touching a _lot_ of code that'll eventually be removed. The fields marked as obsolete will go away completely at some point.
* swrast: flush pending rendering before unmapping buffersBrian Paul2012-01-241-2/+3
|
* swrast: new assertions in _swrast_pixel_address()Brian Paul2012-01-241-0/+8
|
* swrast: use _swrast_pixel_address() in more placesBrian Paul2012-01-242-7/+15
|
* swrast: s/Data/Map/ in swrast_texture_imageBrian Paul2012-01-2415-55/+55
| | | | To indicate that it points to mapped texture memory.
* swrast: remove gl_renderbuffer::DataType check in DrawPixels()Brian Paul2012-01-241-5/+8
| | | | The field will be going away so update this code.
* swrast: remove gl_renderbuffer::DataType assertionsBrian Paul2012-01-243-3/+0
| | | | This field will go away, so remove some uses of it.
* st/mesa: remove gl_renderbuffer:DataType assignmentsBrian Paul2012-01-244-107/+0
| | | | | | | | That field is only used by swrast code so there's no reason to mess with it in the gallium state tracker. This also lets us remove the unused st_format_data() type function and related code.
* swrast: make _swrast_get_values(), _swrast_get_row() staticBrian Paul2012-01-242-23/+12
| | | | They were only called from in s_span.c
* swrast: remove dstType param from _swrast_read_rgba_span()Brian Paul2012-01-243-7/+7
| | | | It was always GL_FLOAT.
* swrast: remove unused _swrast_put_row()Brian Paul2012-01-242-40/+0
|
* mesa: Don't resurrect deleted ARB VAOs in glPopClientAttribIan Romanick2012-01-241-11/+42
| | | | | | | | | | | | | | When ARB VAOs are used, glPopClientAttrib does not resurrect a deleted VAO or VBO. This difference between the two spec is, unfortunately, not very well spelled out in the specs. Fixes oglc vao(advanced.pushPop.deleteVAO) and vao(advanced.pushPop.deleteVBO) tests. NOTE: This is a candidate for release branches. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: Rename gl_array_object::VBOonly to ::ARBsemanticsIan Romanick2012-01-244-8/+29
| | | | | | | | | | | | | | There are more differences between Apple and ARB than just requiring that all arrays be stored in VBOs. Additional uses will be added in following commits. Also, set the flag at Bind time instead of Gen time. The ARB_vao spec specifies that behavior. NOTE: This is a candidate for release branches. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* swrast: Use fixed-function processing instead _TexEnvProgram for DrawPixelsIan Romanick2012-01-241-2/+21
| | | | | | | | | | | | | | | | | | | | | | | This is a hack to work around drivers such as i965 that: - Set _MaintainTexEnvProgram to generate GLSL IR for fixed-function fragment processing. - Don't call _mesa_ir_link_shader to generate Mesa IR from the GLSL IR. - May use swrast to handle glDrawPixels. Since _mesa_ir_link_shader is never called, there is no Mesa IR to execute. Instead do regular fixed-function processing. Even on platforms that don't need this, the software fixed-function code is much faster than the software shader code. NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44749
* mesa: Make sure _TexEnvProgram points at the current ff fragment programIan Romanick2012-01-241-0/+9
| | | | | | | | | | | | | At least one place, the _mesa_need_secondary_color function in state.h, uses this to make decisions. The next patch in this series will add another dependency. Ideally, this field would go away and be replace by a flag or something. NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* softpipe: move var initialization to silence warningBrian Paul2012-01-241-2/+1
|
* r600g: remove unused variableBrian Paul2012-01-241-1/+0
|
* glsl: Don't use newlocale on HaikuAlexander von Gluck2012-01-241-1/+2
| | | | | | NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Brian Paul <[email protected]>
* mesa: Don't use newlocale on HaikuAlexander von Gluck2012-01-241-1/+1
| | | | | | NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Brian Paul <[email protected]>
* svga: fix typedef conflicts on HaikuAlexander von Gluck2012-01-241-0/+4
| | | | | | NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Brian Paul <[email protected]>
* llvmpipe: fix symbol conflict on HaikuAlexander von Gluck2012-01-241-2/+2
| | | | | | NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Brian Paul <[email protected]>
* scons: Remove Haiku one-offs for gallium driversAlexander von Gluck2012-01-241-7/+2
| | | | | | NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Brian Paul <[email protected]>
* gallium/postprocess: Proper reference counting of pp_jimenezmlaa depth buffer.Michel Dänzer2012-01-241-1/+2
| | | | | | Fixes https://bugs.freedesktop.org/show_bug.cgi?id=40776 NOTE: This is a candidate for the stable branches.
* Revert "Always build shared glapi"Matt Turner2012-01-2413-0/+58
| | | | | | | | | | | 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
* gbm: install libgbm.so into libMatt Turner2012-01-244-3/+5
| | | | This partially reverts commit 90e256853418eaaba3717f930cc6a331e4099056.
* llvmpipe: Fix math error in LP_DEBUG=counters outputAdam Jackson2012-01-241-2/+3
| | | | Signed-off-by: Adam Jackson <[email protected]>
* r600g: fix inconsistency with INTERP* opcode definitionsVadim Girlin2012-01-243-11/+11
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* r600g: replace raw opcodes with names in the is_alu_trans/vectorVadim Girlin2012-01-241-12/+80
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* r600g: add missing opcode definitionsVadim Girlin2012-01-241-5/+85
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* r600g: fix loop break/continue operationsVadim Girlin2012-01-241-2/+0
| | | | Signed-off-by: Vadim Girlin <[email protected]>
* r600g: fix fragcoord.wVadim Girlin2012-01-241-4/+27
| | | | Signed-off-by: Vadim Girlin <[email protected]>
* targets/gbm: Fix install pathBenjamin Franzke2012-01-242-5/+5
| | | | | | GBM_BACKEND_INSTALL_DIR was deleted by commit 06ad64ad29e7aa9e2d001f6bd1f8c1c1f77050b8. Since we dont need this configurable, use $(INSTALL_LIB_DIR)/gbm now.
* gbm/Makefile.template: Remove builtin-compile pathBenjamin Franzke2012-01-241-10/+0
| | | | | Builtins are handled by the main gbm Makefile since 06ad64ad29e7aa9e2d001f6bd1f8c1c1f77050b8.
* egl,gbm_gallium: Fix linkage against gbm from automakeBenjamin Franzke2012-01-243-2/+4
| | | | | | Add src/gbm/.libs to ldflags. The gbm lib is src/gbm/.libs/ instead of lib/ as of commit 06ad64ad29e7aa9e2d001f6bd1f8c1c1f77050b8.
* r600g: fix interpolation with clipvertexVadim Girlin2012-01-241-0/+3
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* swrast: Fix unsigned promotion in pointer arithmeticChad Versace2012-01-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | When rowstride was negatie, unsigned promotion caused a segfault here: 299│ if (rb->Format == MESA_FORMAT_S8) { 300│ const GLuint rowStride = rb->RowStride; 301│ for (i = 0; i < count; i++) { 302│ if (x[i] >= 0 && y[i] >= 0 && x[i] < w && y[i] < h) { 303├> stencil[i] = *(map + y[i] * rowStride + x[i]); 304│ } 305│ } 306│ } Fixes segfault in oglconform separatestencil-neu(NonPolygon.BothFacesBitmapCoreAPI), though test still fails. Note: This is a candidate for the stable branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43327 Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* 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]>
* r600g: clean up register headersAlex Deucher2012-01-234-66/+55
| | | | | | | | - CP_INTERRUPT packet doesn't exist - remove lots of r6xx copy/paste remnants from evergreen reg header - fix some cayman specific registers Signed-off-by: Alex Deucher <[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]>
* automake: src/gbmMatt Turner2012-01-237-146/+46
| | | | | libgbm.so.1.0.0 (instead of libgbm.so.1.0) is installed now along with libgbm.so.1 (no change).
* 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]>
* r600g: cayman fix integer multipliesDave Airlie2012-01-231-1/+29
| | | | | | | | Looks insane, but it does appear we need a full slot per input/output. This fixes another 180 or so piglit tests. Signed-off-by: Dave Airlie <[email protected]>
* r600g: cayman initial integer supportDave Airlie2012-01-231-22/+24
| | | | | | | | | | Adds all the easier lowhanging opcodes. Fixes ~3000 piglit tests with GLSL1.30 enabled on cayman. This just leaves the mul/div/mod ops to fix up. Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix VS fog exportVadim Girlin2012-01-231-0/+5
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* dri: install dri_interface.hMatt Turner2012-01-221-0/+3
| | | | | | Broken in commit 129213e7. Reported-by Kai Wasserbäch <[email protected]>