summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* st/vdpau: do not export VdpPresentationQueueTargetCreateX11Emil Velikov2014-02-112-2/+4
| | | | | | | | | The function pointer is retrieved via VdpGetProcAddress just like all the other vdpau functions and should not be exported. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Christian König <[email protected]>
* st/egl: automake: avoid exporting all symbolsEmil Velikov2014-02-111-0/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* targets/egl-static: automake: don't export local symbolsEmil Velikov2014-02-111-0/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* gbm: automake: add symbol testsEmil Velikov2014-02-112-0/+15
| | | | Signed-off-by: Emil Velikov <[email protected]>
* targets/gbm: automake: do not export internal symbolsEmil Velikov2014-02-111-0/+1
| | | | | | | | | | Add VISIBILITY_CFLAGS to automake build, so that only required symbols are exported. v2: Rebase Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* st/gbm: automake: do not export gbm_gallium_drm_device_createEmil Velikov2014-02-111-1/+3
| | | | | | | Symbol is internal and was never meant to be exported. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* auxiliary/pipe-loader: automake: avoid exporting all symbolsEmil Velikov2014-02-111-0/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* gbm: drop unneeded dependency of libudevEmil Velikov2014-02-111-2/+0
| | | | | | | As of recently we dlopen the library, additionally the only code that is including the libudev.h header, is the loader. Signed-off-by: Emil Velikov <[email protected]>
* opencl: do not link against libudevEmil Velikov2014-02-111-1/+1
| | | | | | | Previously the linking was required due to dependency of udev in the pipe-loader. Now this is no longer the case, as we dlopen the library. Signed-off-by: Emil Velikov <[email protected]>
* gallium/tests: do not link against libudevEmil Velikov2014-02-111-1/+0
| | | | | | | Previously the linking was required due to dependency of udev in the pipe-loader. Now this is no longer the case, as we dlopen the library. Signed-off-by: Emil Velikov <[email protected]>
* egl-static: stop linking against libudevEmil Velikov2014-02-111-1/+0
| | | | | | No longer required since all the udev code is in the loader. Signed-off-by: Emil Velikov <[email protected]>
* pipe-loader: drop obsolete libudev.h includeEmil Velikov2014-02-111-1/+0
| | | | | | | All the udev code is in the loader, so there is no reason for us to include this header. Signed-off-by: Emil Velikov <[email protected]>
* omx/radeonsi: fix targetChristian König2014-02-111-0/+4
| | | | | | Another minor typo. Signed-off-by: Christian König <[email protected]>
* vl: add H264 encoding interfaceChristian König2014-02-115-5/+64
| | | | | Signed-off-by: Christian König <[email protected]> Signed-off-by: Leo Liu <[email protected]>
* r600g: add support for multiple viewports.Dave Airlie2014-02-119-40/+98
| | | | | | tested on rv635 and barts. Signed-off-by: Dave Airlie <[email protected]>
* nouveau/video: make sure that firmware is present when checking capsIlia Mirkin2014-02-103-4/+147
| | | | | | | | | | | | Apparently some players are ill-prepared for us claiming that a decoder exists only to have creating it fail, and express this poor preparation with crashes (e.g. flash). Check that firmware is there to increase the chances of there being a high correlation between reported capabilities and ability to create a decoder. Signed-off-by: Ilia Mirkin <[email protected]> Cc: 10.0 10.1 <[email protected]> Tested-by: Emil Velikov <[email protected]>
* gallium: add geometry shader output limitsGrigori Goronzy2014-02-0914-1/+52
| | | | | | | | v2: adjust limits for radeonsi and llvmpipe v3: add documentation Cc: "10.1" <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* nv30: report 8 maximum inputsIlia Mirkin2014-02-081-1/+1
| | | | | | | | | | | | nvfx_fragprog_assign_generic only allows for up to 10/8 texcoords for nv40/nv30. This fixes compilation of the varying-packing tests. Furthermore it appears that the last 2 inputs on nv4x don't seem to work in those tests, so just report 8 everywhere for now. Tested on NV42, NV44. NV4B appears to have additional problems. Signed-off-by: Ilia Mirkin <[email protected]> Cc: 9.1 9.2 10.0 10.1 <[email protected]>
* nv50/ir/ra: some register spilling fixesChristoph Bumiller2014-02-091-5/+34
| | | | Cc: 10.1 <[email protected]>
* nvc0: handle TGSI_SEMANTIC_LAYERChristoph Bumiller2014-02-075-5/+4
| | | | Cc: 10.1 <[email protected]>
* nvc0: create the SW objectChristoph Bumiller2014-02-072-0/+10
| | | | It's required for being able to use software methods now.
* nvc0/ir/emit: hardcode vertex output stream to 0 for nowChristoph Bumiller2014-02-071-2/+7
|
* gallium/tgsi: correct typo propagated from NV_vertex_program1_1Erik Faye-Lund2014-02-072-3/+3
| | | | | | | | | | | | | | | | In the specification text of NV_vertex_program1_1, the upper limit of the RCC instruction is written as 1.884467e+19 in scientific notation, but as 0x5F800000 in binary. But the binary version translates to 1.84467e+19 rather than 1.884467e+19 in scientific notation. Since the lower-limit equals 2^-64 and the binary version equals 2^+64, let's assume the value in scientific notation is a typo and implement this using the value from the binary version instead. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium/tgsi: use CLAMP instead of open-coded clampsErik Faye-Lund2014-02-071-22/+4
| | | | | Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* nouveau/codegen: allow tex offsets on non-TXF instructions (e.g. TXL)Ilia Mirkin2014-02-061-0/+8
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Christoph Bumiller <[email protected]>
* nv50: only over-allocate by a page for codeIlia Mirkin2014-02-061-4/+5
| | | | | | | | | The pre-fetching doesn't go too far. Tested with over-allocating by only a page, and didn't see any errors in dmesg. Saves ~512KB of VRAM. Signed-off-by: Ilia Mirkin <[email protected]> Cc: 10.1 <[email protected]> Reviewed-by: Christoph Bumiller <[email protected]>
* nv50: fix layerid to be the fp input number rather than vp output numberIlia Mirkin2014-02-063-7/+9
| | | | | | | | | | In the tests they were the same so it didn't matter, but indications are that this is the correct behaviour. Also take this opportunity to (trivially) support using gl_Layer in fp. Cc: 10.1 <[email protected]> Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Christoph Bumiller <[email protected]>
* nv50: rework primid logicIlia Mirkin2014-02-063-6/+4
| | | | | | | | | Functionally identical but much simpler. Should also better integrate with future layer/viewport changes/fixes. Cc: 10.1 <[email protected]> Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Christoph Bumiller <[email protected]>
* vdpau: flush the context before exporting the surface v2Marek Olšák2014-02-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Bugzilla (bug needs XBMC changes as well): https://bugs.freedesktop.org/show_bug.cgi?id=73191 When VL uploads vertex buffers, it uses PIPE_TRANSFER_DONTBLOCK, which always flushes the context in the winsys if the buffer being mapped is busy. Since I added handling of DISCARD_RANGE, DONTBLOCK has had no effect when combined with DISCARD_RANGE and I think the context isn't flushed anywhere else, so no commands are submitted to the GPU until the IB is full, which takes a lot of frames. Using DISCARD_RANGE is not the only way to trigger this bug. The other way is to reallocate the vertex buffer before every upload. BTW, I'm not sure if this is the right place for flushing, but it does fix the bug. v2 (chk): move the flush to the right place. Signed-off-by: Christian König <[email protected]> Tested-by: StrangeNoises ([email protected])
* gallium/radeon: fix warningsMarek Olšák2014-02-063-5/+9
|
* gallium: remove PIPE_USAGE_STATICMarek Olšák2014-02-0651-71/+67
| | | | Reviewed-by: Brian Paul <[email protected]>
* gallium: define the behavior of PIPE_USAGE_* flags properlyMarek Olšák2014-02-062-12/+19
| | | | | | | | STATIC will be removed in the following commit. v2: changed the definition of IMMUTABLE Reviewed-by: Brian Paul <[email protected]>
* gallium: remove PIPE_RESOURCE_FLAG_GEN_MIPSMarek Olšák2014-02-061-1/+0
| | | | | | Unused. Reviewed-by: Brian Paul <[email protected]>
* r600g,radeonsi: set resource domains in one place (v2)Marek Olšák2014-02-065-27/+23
| | | | | | | v2: This doesn't change the behavior. It only moves the tiling check to r600_init_resource and removes the usage parameter. Reviewed-by: Christian König <[email protected]>
* st/omx: add workaround for bug in BellagioChristian König2014-02-063-2/+16
| | | | | | Not blocking for the message thread can lead to accessing freed up memory. Signed-off-by: Christian König <[email protected]>
* st/omx: initial OpenMAX support v3Christian König2014-02-0613-0/+2390
| | | | | | | | | | Featuring a full grown MPEG2 and H264 decoder and a couple of hundred bugs. v2 (Leo): fix an error for pic_order_cnt_type 1 v3 (Leo): implement support for field decoding Signed-off-by: Christian König <[email protected]> Signed-off-by: Leo Liu <[email protected]>
* vl/rbsp: add H.264 RBSP implementationChristian König2014-02-061-0/+164
| | | | Signed-off-by: Christian König <[email protected]>
* vl/vlc: add function to limit the vlc sizeChristian König2014-02-061-12/+41
| | | | Signed-off-by: Christian König <[email protected]>
* vl/vlc: add remove bits functionChristian König2014-02-061-0/+12
| | | | Signed-off-by: Christian König <[email protected]>
* radeon: just don't map VRAM buffers at allChristian König2014-02-061-2/+2
| | | | | Signed-off-by: Christian König <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* radeon/video: directly create buffers in the right domainChristian König2014-02-063-7/+12
| | | | | | Avoid moving things around on start of stream. Signed-off-by: Christian König <[email protected]>
* radeon/video: seperate common video functionsChristian König2014-02-069-315/+413
| | | | Signed-off-by: Christian König <[email protected]>
* gallium/dri2: Fix dri2_dup_imageAxel Davy2014-02-051-0/+1
| | | | | | | | | | | | dri2_dup_image was not copying the dri_format field. This was causing some bugs, for example: . we create an gbm_bo. . we get an EGLImage from the gbm_bo. . Bug: impossible to get again the gbm_bo from the EGLImage by importing. (gbm dri2 backend) Signed-off-by: Axel Davy <[email protected]>
* tgsi/ureg: increase the number of immediatesZack Rusin2014-02-051-1/+1
| | | | | | | | | | ureg_program is allocated on the heap so we can just bump the number of immediates that it can handle. It's needed for d3d10. Signed-off-by: Zack Rusin <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* gallivm: make sure analysis works with large number of immediatesZack Rusin2014-02-051-8/+9
| | | | | | | | | | | We need to handle a lot more immediates and in order to do that we also switch from allocating this structure on the stack to allocating it on the heap. Signed-off-by: Zack Rusin <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* gallivm: handle huge number of immediatesZack Rusin2014-02-054-44/+86
| | | | | | | | | | | | | | We only supported up to 256 immediates, which isn't enough. We had code which was allocating immediates as an allocated array, but it was always used along a statically backed array for performance reasons. This commit adds code to skip that performance optimization and always use just the dynamically allocated immediates if the number of them is too great. Signed-off-by: Zack Rusin <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* gallivm: allow large numbers of temporariesZack Rusin2014-02-054-5/+20
| | | | | | | | | | | | | | The number of allowed temporaries increases almost with every iteration of an api. We used to support 128, then we started increasing and the newer api's support 4096+. So if we notice that the number of temporaries is larger than our statically allocated storage would allow we just treat them as indexable temporaries and allocate them as an array from the start. Signed-off-by: Zack Rusin <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* gallivm: fix F2U opcodeRoland Scheidegger2014-02-051-20/+22
| | | | | | | | | | | | | | | | | | | | | Previously, we were really doing F2I. And also move it to generic section. (Note that for llvmpipe the code generated is definitely bad, due to lack of unsigned conversions with sse. I think though what llvm does (using scalar conversions to 64bit signed either with x87 fpu (32bit) or sse (64bit) including lots of domain changes is quite suboptimal, could do something like is_large = arg >= 2^31 half_arg = 0.5 * arg small_c = fptoint(arg) large_c = fptoint(half_arg) << 1 res = select(is_large, large_c, small_c) which should be much less instructions but that's something llvm should do itself.) This fixes piglit fs/vs-float-uint-conversion.shader_test (maybe more, needs GL 3.0 version override to run.) Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Zack Rusin <[email protected]>
* tools/trace: Handle index buffer overflow gracefully.José Fonseca2014-02-051-1/+4
| | | | Trivial.
* r600g: add support for geom shaders to r600/r700 chipsets (v2)Dave Airlie2014-02-057-49/+313
| | | | | | | | | | | | | This is my first attempt at enabling r600/r700 geometry shaders, the basic tests pass on both my rv770 and my rv635, It requires this kernel patch: http://www.spinics.net/lists/dri-devel/msg52745.html v2: address Alex comments. Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>