summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: trivial code and comment cleanup.Roland Scheidegger2013-01-181-14/+12
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* llvmpipe: fix using wrong format with MRT in blend codeRoland Scheidegger2013-01-184-11/+26
| | | | | | | | | | | | | We were passing in the rt index however this was always 0 for non-independent blend case. (The format was only actually used to decide if the color mask covered all channels so this went unnoticed and was discovered by accident.) Additionally, there was a second problem because we do fixups in the key based on color buffer format we cannot use non-independent blend anyway as the fixed up values would never get used. So always turn non-independent blending into independent. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* radeonsi: Actually keep track if we are using depth textures for samplers.Michel Dänzer2013-01-171-3/+7
| | | | | | | 20-odd more piglits. Reviewed-by: Christian König <[email protected]> Signed-off-by: Michel Dänzer <[email protected]>
* radeonsi: Fix Z24 texture formats.Michel Dänzer2013-01-171-2/+2
| | | | | | | About half a dozen more piglits. Reviewed-by: Christian König <[email protected]> Signed-off-by: Michel Dänzer <[email protected]>
* radeonsi: Set SPI_SHADER_COL_FORMAT to what the pixel shader actually exports.Michel Dänzer2013-01-175-7/+14
| | | | | | | | | Instead of deriving it from the colour buffer formats only. Fixes a number of piglit tests which export depth from the pixel shader. Reviewed-by: Christian König <[email protected]> Signed-off-by: Michel Dänzer <[email protected]>
* radeonsi: Use proper hardware format for stencil texturing.Michel Dänzer2013-01-171-1/+2
| | | | | | | Fixes piglit 'spec/ARB_depth_buffer_float/fbo-clear-formats stencil' crash. Reviewed-by: Christian König <[email protected]> Signed-off-by: Michel Dänzer <[email protected]>
* radeonsi: Enable tiling for depth/stencil resources.Michel Dänzer2013-01-171-4/+3
| | | | | | | | | | | Enabling it for all resources still seems to cause problems, but depth/stencil buffers are always accessed with tiling by the DB block. Also, stick to 1D tiling for now. Getting 2D tiling to work properly will require substantial changes in libdrm_radeon and possibly the kernel as well. Reviewed-by: Christian König <[email protected]> Signed-off-by: Michel Dänzer <[email protected]>
* radeonsi: Consolidate calculation of tile mode index.Michel Dänzer2013-01-171-111/+71
| | | | | | | | Apart from the obvious cleanup, this makes sure all blocks use the same tiling mode for accessing the resource. Reviewed-by: Christian König <[email protected]> Signed-off-by: Michel Dänzer <[email protected]>
* nvc0: add support for accelerated video decoding through the dedicated enginesMaarten Lankhorst2013-01-176-3/+1833
| | | | | | Currently the use of external firmware is required, with kernel and userspace firmware needed for all Fermi cards except nvd9. Kepler and nvd9 should only require kernel firmware.
* radeonsi: Pass texture type to sampling intrinsics.Michel Dänzer2013-01-171-4/+2
| | | | Signed-off-by: Michel Dänzer <[email protected]>
* nvc0: add space checks to clear functionsMaarten Lankhorst2013-01-171-5/+14
| | | | Thanks to calim for helping me find and fix the issue.
* nv50: add space checks to clear functions, and respect depthMaarten Lankhorst2013-01-171-13/+24
| | | | Thanks to calim for helping me find and fix the issue.
* nvc0: Add support for video bufferMaarten Lankhorst2013-01-167-11/+310
|
* vl/video_buffer: fix up surface ordering for the interlaced caseMaarten Lankhorst2013-01-161-6/+6
| | | | | | | | It seems the other code expects surface[0..1] to be the luma field in interlaced case. See for example vdpau/surface.c vlVdpVideoSurfaceClear and vlVdpVideoSurfacePutBitsYCbCr. Signed-off-by: Maarten Lankhorst <[email protected]>
* vl/compositor: fix weave shader bugsMaarten Lankhorst2013-01-161-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Writemask was XY instead of YZ (thanks to calim for spotting it). The pixel calculation resulted in the pixel always being off by one. If y was .5: y' = round(y) + 0.5 = 1.5 Fixing this also means the LRP function has to swap the pixels it, since it's now the other way around for top/bottom. WIth these fixes only chroma for top and bottom pixel rows are wrongly interpolated in my test program: --- nvidia +++ nouveau @@ -1,4 +1,4 @@ -YCbCr[0] = 00c080 +YCbCr[0] = 00b070 YCbCr[1] = 00b070 YCbCr[2] = 029050 YCbCr[3] = 207050 @@ -61,4 +61,4 @@ YCbCr[60] = 0c5070 YCbCr[61] = c05090 YCbCr[62] = 0e70b0 -YCbCr[63] = e080c0 +YCbCr[63] = e070b0 Signed-off-by: Maarten Lankhorst <[email protected]> Reviewed-by: Christian König <[email protected]>
* radeonsi/vdpau: remove nonsense state tracker depChristian König2013-01-161-1/+0
| | | | | | | Added with automake conversion, but makes no sense at all. Signed-off-by: Christian König <[email protected]> Reviewed-by: Andreas Boll <[email protected]>
* libgl-gdi: Avoid hangs on DLL_PROCESS_DETACH.Rob Schneider2013-01-151-2/+4
| | | | | | | | | | | | At process exit DLL_PROCESS_DETACH is signaled to DllMain(), where then a final cleanup is triggered. In stw_cleanup() code is triggered that tries to communicate a shutdown to the spawned threads -- however at that time those threads have already been terminated by the OS and so the process hangs. v2: skip stw_cleanup_thread() too Signed-off-by: José Fonseca <[email protected]>
* r300g: fix and cleanup flushing before clearing CMASK, ZMASK, and HIZMarek Olšák2013-01-154-18/+17
|
* r300g: implement MSAA compression and fast MSAA color clearMarek Olšák2013-01-1513-6/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | These are optimizations which make MSAA a lot faster. The MSAA work is complete with this commit. (except for enablement of AA optimizations for RGBA16F, for which a patch is ready and waiting until the kernel CS checker fix lands) MSAA can't be made any faster as far as hw programming is concerned. The catch is only one process and one colorbuffer can use the optimizations at a time. There usually is only one MSAA colorbuffer, so it shouldn't be an issue. Also, there is a limit on the size of MSAA colorbuffer resolution in terms of megapixels. If the limit is surpassed, the AA optimizations are disabled. The limit is: - 1 Mpix on low-end and some mid-level chipsets (1024x768 and 1280x720) - 2 Mpix on some mid-level chipsets (1600x1200 and 1920x1080) - 3 or 4 Mpix on high-end chipsets (2048x1536 or 2560x1600, respectively) It corresponds to the number of raster pipes (= GB pipes) available, each pipe can hold 1 Mpix of AA compression data. If it's enabled, the driver prints to stdout: radeon: Acquired access to AA optimizations.
* gallium/util: add a half float array to util_colorMarek Olšák2013-01-151-0/+1
| | | | For convenient packing into half floats.
* Revert "targets/opencl: Link against libgallium.la instead of libgallium.a"Tom Stellard2013-01-152-1/+9
| | | | | | | | | | | | | | | This reverts commit 4148a29ed83d1d85bff3d4e40e847128011c3f20. This is a work-around for bug: https://bugs.freedesktop.org/show_bug.cgi?id=59334 We really should be linking against libgallium.la instead of libgallium.a, but until we can figure why linking against libgallium.la causes runtime failures in clover we will continue to link against libgallium.a Acked-by: Andreas Boll <[email protected]> Tested-by: Aaron Watry <[email protected]>
* gallium/util: fix glClear with MRT by making the FS write to all cbufsMarek Olšák2013-01-154-7/+37
| | | | Reviewed-by: Brian Paul <[email protected]>
* gallium: remove PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATEMarek Olšák2013-01-1513-19/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* softpipe: implement separate depth-stencil clearMarek Olšák2013-01-151-3/+12
| | | | | | The CAP is going away. Reviewed-by: Brian Paul <[email protected]>
* libgl-xlib: softpipe and llvmpipe aren't mutually exclusive at link timeJon TURNEY2013-01-151-2/+1
| | | | | | | | | | | | | | Since automake changes, softpipe and llvmpipe are mutually exclusive at link time. This doesn't make much sense to me as we can choose between them at run-time using GALLIUM_DRIVER. Creating library file: .libs/libGL.dll.a .libs/xlib.o: In function `sw_screen_create_named': /jhbuild/checkout/mesa/mesa/src/gallium/targets/libgl-xlib/../../../../src/gallium/auxiliary/target-helpers/inline_sw_helper.h:35: undefined reference to `_softpipe_create_screen' Signed-off-by: Jon TURNEY <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* util: add new primitive types to pipe_prim_names[] arrayBrian Paul2013-01-141-0/+4
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* libgl-xlib: link with -lrtBrian Paul2013-01-141-1/+2
| | | | | | | | | | | Fixes a runtime error: glxgears: symbol lookup error: /home/brian/mesa/lib/gallium/libGL.so.1: undefined symbol: clock_gettime v2: use $(CLOCK_LIB) and $(PTHREAD_LIBS) per Andreas Boll. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Andreas Boll <[email protected]>
* gallium/svga: Make sure -std=gnu99 is set.Johannes Obermayr2013-01-142-2/+5
| | | | | | This is a work-around until configure.ac stops touching CFLAGS. Reviewed-by: Matt Turner <[email protected]>
* r300g: set a dummy vertex buffer in context_createMarek Olšák2013-01-141-0/+1
| | | | so that the driver doesn't crash if an app doesn't set any vertex buffers.
* r300g: fix MSAA resolve to an untiled textureMarek Olšák2013-01-143-3/+10
| | | | | RB3D_DEBUG_CTL doesn't help, so I resolve to a tiled temporary texture and then blitting it to the destination one, which we also do in other situations.
* r300g: advertise MSAA support for the RGB10_A2 format on r500Marek Olšák2013-01-142-12/+47
| | | | It seems to be working just fine.
* r300g: allow separate depth and stencil clearMarek Olšák2013-01-141-1/+1
| | | | | | | | The handling of the CAP is broken in st/mesa anyway. Let's just kill it. This commit pretty much enables fast Z clear for FBOs with Z24S8. The driver falls back to clearing with a quad if the fast clear cannot be used. It can still do fast color clear, for example.
* r300g: if both Z and stencil are present, they must be fast-cleared togetherMarek Olšák2013-01-141-6/+11
|
* r300g: allow HiZ with a 16-bit zbufferMarek Olšák2013-01-141-1/+0
|
* r300g: random hyperz cleanupsMarek Olšák2013-01-143-18/+12
|
* r300g: kill the X.Org state tracker targetMarek Olšák2013-01-143-245/+0
| | | | | | This won't ever be made default and we don't need it anyway. We should also consider doing this for other drivers.
* xmlpool: Fix out-of-tree builds.Johannes Obermayr2013-01-138-0/+8
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* target/dri-swrast: fix for nonstandard LLVM prefixNathan Schulte2013-01-131-0/+1
| | | | | | | | | | | | Include LLVM_LDFLAGS when building with LLVM. Fixes the following build errors: CXXLD swrast_dri.la /usr/bin/ld: cannot find -lLLVMR600CodeGen /usr/bin/ld: cannot find -lLLVMR600Desc /usr/bin/ld: cannot find -lLLVMR600Info /usr/bin/ld: cannot find -lLLVMR600AsmPrinter Reviewed-by: Andreas Boll <[email protected]>
* targets/dri-r600: Force c++ linker in all casesAndreas Boll2013-01-131-8/+2
| | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59282
* Remove hacks for static MakefilesMatt Turner2013-01-1337-168/+0
| | | | | | | | | | | v2: Andreas Boll <[email protected]> - don't remove compatibility with scripts for the old build system v3: Andreas Boll <[email protected]> - remove more obsolete hacks v4: Andreas Boll <[email protected]> - add a previously removed TOP variable to fix vgapi build
* scons: Update for xmlpool/options.h generation.José Fonseca2013-01-123-0/+3
|
* nv50/nvc0: Build codegen in nv50.Johannes Obermayr2013-01-126-36/+45
| | | | This is required to make libnv50 independent of libnvc0.
* winsys/sw/wayland: Fix build to properly use wayland cflagsPekka Vuorela2013-01-121-1/+1
| | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59281 Reviewed-by: Andreas Boll <[email protected]>
* r600g: fix warnings for htile vaDave Airlie2013-01-112-2/+2
| | | | | | This fixes a warning about mismatched types. Signed-off-by: Dave Airlie <[email protected]>
* r600g: texture buffer object + glsl 1.40 enable support (v2)Dave Airlie2013-01-1110-19/+373
| | | | | | | | | | | | | | | | | | | This adds TBO support to r600g, and with GLSL 1.40 enabled, we now get 3.1 core profiles advertised for r600g. The r600/700 implementation is a bit different from the evergreen one, as r6/7 hw lacks vertex fetch swizzles. So we implement it by passing 5 constants per sampler to the shader, the shader uses the first 4 as masks for each component and the 5th as the alpha value to OR in. Now TXQ is also broken so we have to pass a constant for the buffer size, on evergreen we just pass this, on r6/7 we pass it as the 6th element in the const info buffer. v1.1: drop return as DDX doesn't use a texture type v2: add r600/700 support. Signed-off-by: Dave Airlie <[email protected]>
* r600g: uniform buffer object supportDave Airlie2013-01-112-9/+49
| | | | | | | | | | This adds 12 more constant buffers for use as UBOs, along with adding relative constant fetching for 2D indices. This with GLSL 1.40 enabled passes all the same tests as softpipe on my evergreen system. Signed-off-by: Dave Airlie <[email protected]>
* r600: always export a position from vertex shaderDave Airlie2013-01-111-0/+17
| | | | | | | This fixes piglit glsl-1.40-tf-no-position from gpu hanging on my rv635 at least. Signed-off-by: Dave Airlie <[email protected]>
* targets/opencl: Link against libgallium.la instead of libgallium.aTom Stellard2013-01-111-1/+1
|
* drivers/radeon: Don't link against libgallium.laTom Stellard2013-01-111-2/+1
| | | | | | | | This fixes several duplicate symbol errors. libllvmradeon is a simple helper library. If it requires symbols in other libraries, this should be taken care of by the gallium target that uses it (e.g. libr600.la)
* targets/egl-static: fix link failure to libwayland-drmKnut Andre Tidemann2013-01-111-1/+1
| | | | | | | | | Fixes the following build error: CXXLD egl_gallium.la g++: error: ../../../../src/egl/wayland/wayland-drm/.libs/.libs/libwayland-drm.a: No such file or directory Reviewed-by: Andreas Boll <[email protected]>