summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
* r600g: shift integer ops are trans unit only on r600.Dave Airlie2012-01-221-0/+1
| | | | Signed-off-by: Dave Airlie <[email protected]>
* r600g: replace trans/vector-only instruction lists with ranges (v2)Vadim Girlin2012-01-221-71/+15
| | | | | | | airlied : assert on cayman cases to keep compiler happy Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* Revert "r600g: replace trans/vector-only instruction lists with ranges"Dave Airlie2012-01-221-11/+73
| | | | | | This reverts commit 946309067c835d35a85ab2ad774df6698e6669ab. Until we check the cayman bits out properly
* r600g: srgb mode is only valid on certain format types.Dave Airlie2012-01-221-0/+8
| | | | | | | | | | | "If set, forces degamma on XYZ if format is FMT_8_8_8_8, FMT_BC1, FMT_BC2, or FMT_BC3" Don't claim support for sRGB on any other formts. This fixes glean texture_srgb. Signed-off-by: Dave Airlie <[email protected]>
* r600g: initial cube shadow samplingDave Airlie2012-01-221-2/+22
| | | | | | | It doesn't pass the piglit test, but it seems to be a lot closer than it was before. I need to track down if there is another problem. Signed-off-by: Dave Airlie <[email protected]>
* r600g: take into account kcache banks for bank swizzle checkVadim Girlin2012-01-221-2/+2
| | | | | | | | | | Due to the changes for multiple kcache banks support, now we are assigning final SRCx_SEL values for kcache access at the later stage, when building the bytecode. So we need to take into account kcache banks to distinguish the constants with the same address but different bank index. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: set round_mode to truncate and get rid of tgsi_f2i on evergreenVadim Girlin2012-01-223-56/+50
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: replace trans/vector-only instruction lists with rangesVadim Girlin2012-01-221-73/+11
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix some interpolation tests for evergreenVadim Girlin2012-01-221-4/+4
| | | | | | | Same fix as previously done by Dave Airlie for r600/r700 Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* Remove src/mesa/ppcMatt Turner2012-01-217-183/+0
| | | | It didn't actually do anything except modify the GL_RENDERER string.
* Fix mistake in 349845f7bAndrei Slăvoiu2012-01-211-1/+1
|
* r600g: implement clip vertex v2Vadim Girlin2012-01-2110-113/+196
| | | | | | | | Clip planes are uploaded as a constant buffer and used by the vertex shader to produce corresponding clip distances for hw clipping. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: improve kcache line sets handling v2Vadim Girlin2012-01-214-86/+216
| | | | | | | | | Add support for multiple kcache banks (constant buffers). Lock the required lines only. Allow up to 4 kcache line sets in the alu clause by using ALU_EXTENDED on eg+. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: no need to do CUBE coordinate handling for TXQ.Dave Airlie2012-01-211-1/+3
| | | | | | Fixes texSize on cube. Signed-off-by: Dave Airlie <[email protected]>
* r600g: make INTERP_LOAD_P0 vector-onlyVadim Girlin2012-01-211-0/+1
| | | | | Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* glsl: Fix 'control reaches end of non-void function' warning.Vinson Lee2012-01-201-2/+2
| | | | | | | | | | | | | Fix this GCC warning on non-debug builds. glsl_types.cpp: In member function 'gl_texture_index glsl_type::sampler_index() const': glsl_types.cpp:157: warning: control reaches end of non-void function NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Chad Versace <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* r600g: use S_028B20_BUFFER_0_EN macro for streamout buffer enableAlex Deucher2012-01-201-1/+1
| | | | Signed-off-by: Alex Deucher <[email protected]>
* r600g: update streamout support for virtual addressesAlex Deucher2012-01-201-7/+18
| | | | Signed-off-by: Alex Deucher <[email protected]>
* Remove reference to now deleted dri/Makefile.targetsMatt Turner2012-01-201-1/+1
|
* automake: src/mesa/drivers/driMatt Turner2012-01-206-165/+35
|
* automake: src/mesa/drivers/dri/swrastMatt Turner2012-01-204-27/+74
|
* automake: src/mesa/drivers/dri/nouveauMatt Turner2012-01-203-22/+67
|
* automake: src/mesa/drivers/dri/r200Matt Turner2012-01-204-58/+100
|
* automake: src/mesa/drivers/dri/radeonMatt Turner2012-01-204-54/+99
|
* automake: src/mesa/drivers/dri/i915Matt Turner2012-01-205-32/+70
|
* r600g: fix streamout on evergreenVadim Girlin2012-01-201-0/+6
| | | | | | | | Enable it in the evergreen_context_draw if needed. Same as already done in the r600_context_draw for r6xx/r7xx. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* r600g: fix combined MEM_STREAM instructionsVadim Girlin2012-01-201-1/+3
| | | | | | | | BURST_COUNT is clipped with ARRAY_SIZE, so set it to the max value to avoid clipping. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* Always build shared glapiMatt Turner2012-01-2013-58/+0
| | | | | | | | libglapi.so, libGL.so, libGLESv2.so, libGLESv1_CM.so must all come from the same version of Mesa or bad things may happen. Acked-by: Kenneth Graunke <[email protected]> Signed-off-by: Matt Turner <[email protected]>
* intel/gen6: Some framebuffers having separate depthstencil should be unsupportedChad Versace2012-01-201-0/+9
| | | | | | | | | | | | | | | When the framebuffer has separate depth and stencil buffers, and HiZ is not enabled on the depth buffer, mark the framebuffer as unsupported. This happens when trying to create a framebuffer with Z16/S8 because we haven't enabled HiZ on Z16 yet. Fixes gles2conform test stencil8. Note: This is a candiate for the 8.0 branch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44948 Reviewed-and-tested-by: Ian Romanick <[email protected]> Reviewed--by: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* mesa: Loosen glBlitFramebuffer restrictions on depthstencil buffers (v2)Chad Versace2012-01-201-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This loosens the format validation in glBlitFramebuffer. When blitting depth bits, don't require an exact match between the depth formats; only require that the two formats have the same number of depth bits and the same depth datatype (float vs uint). Ditto for stencil. Between S8_Z24 buffers, the EXT_framebuffer_blit spec allows glBlitFramebuffer to blit the depth and stencil bits separately. So I see no reason to prevent blitting the depth bits between X8_Z24 and S8_Z24 or the stencil bits between S8 and S8_Z24. However, we of course don't want to allow blitting from Z32 to Z32_FLOAT. Fixes Piglit fbo/fbo-blit-d24s8 on Intel drivers with separate stencil enabled. The problem was that, on Intel drivers with separate stencil, the default framebuffer has separate depth and stencil buffers with formats X8_Z24 and S8. The test attempts to blit the depth bits from a S8_Z24 buffer into the default framebuffer. v2: Check that depth datatypes match. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44665 Note: This is a candidate for the 8.0 branch. Reported-by: Xunx Fang <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* nvc0: fix some limit cap valuesChristoph Bumiller2012-01-201-9/+15
| | | | NOTE: This is a candidate for the 8.0 branch.
* nvc0: handle discontiguous outputs in stream_output_infoChristoph Bumiller2012-01-203-28/+25
|
* mesa: allocate transform_feedback_info::Outputs array dynamicallyChristoph Bumiller2012-01-202-39/+57
| | | | | | | | | | | | The nvc0 gallium driver is advertising 128 MAX_INTERLEAVED_COMPS which made it always assert in the linker when TFB was used since the Outputs array was smaller than that maximum. v2: added assertions NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Paul Berry <[email protected]>