summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
Commit message (Collapse)AuthorAgeFilesLines
* clover: Switch device objects to the new model.Francisco Jerez2013-10-219-140/+139
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Switch platform objects to the new model.Francisco Jerez2013-10-217-46/+47
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Define helper classes for the new object model.Francisco Jerez2013-10-2120-107/+398
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Clean up property query functions by using a new property_buffer ↵Francisco Jerez2013-10-2112-263/+547
| | | | | | helper class. Tested-by: Tom Stellard <[email protected]>
* clover: Switch to the new utility code.Francisco Jerez2013-10-2117-717/+152
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Name include guards consistently.Francisco Jerez2013-10-2117-34/+34
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Replace a bunch of double underscores with single underscores.Francisco Jerez2013-10-2127-206/+208
| | | | | | | | Identifiers with double underscores are reserved, and using them has undefined behavior according to the C++ spec. It's unlikely to make any difference, but... Tested-by: Tom Stellard <[email protected]>
* clover: Clean up the event profiling code.Francisco Jerez2013-10-218-121/+228
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Import new utility library.Francisco Jerez2013-10-2112-1/+2157
| | | | Tested-by: Tom Stellard <[email protected]>
* clover: Use std::numeric_limits<std::size_t>::max() instead of SIZE_MAXTom Stellard2013-10-211-1/+1
| | | | | | This prevents a build failure on some systems. Reviewed-by: Francisco Jerez <[email protected]>
* clover: Link libclc before running any optimizationsTom Stellard2013-10-161-27/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | This is required in order for clang to correctly handle the OpenCL C barrier() builtin which has the following restrictions acording to the OpenCL 1.1 Specification: If barrier is inside a conditional statement, then all work-items must enter the conditional if any work-item enters the conditional statement and executes the barrier. If barrier is inside a loop, all work-items must execute the barrier for each iteration of the loop before any are allowed to continue execution beyond the barrier. By linking before otimizations, we can replace calls to barrier() with calls to a target specific intrinsic which has the noduplicate attribute This attribute prevents clang from performing optimizations which could violate the above rules. This attribute must be applied to the call instruction that invokes the function, so it is not enough to add this attribute the barrier() declaration. As a bonus this will probably speed up compile times since we will no longer need to run link-time optimizations.
* st/vdpau: add format conversions for GetBitsYCbCrGrigori Goronzy2013-10-131-8/+117
| | | | | | | | Add simple plain C routines for NV12<->YV12 and YUYV<->UYVY conversions. The NV12->YV12 conversion is commonly used, for instance by VLC. Reviewed-by: Christian König <[email protected]>
* wayland: Don't rely on static variable for identifying wl_drm buffersKristian Høgsberg2013-10-111-2/+9
| | | | | | | | | | | | Now that libEGL has been fixed to not leak all kinds of symbols, gbm links to its own copy of the libwayland-drm.a helper library. That means we can't rely on comparing the addresses of a static vtable symbol in that library to determine if a wl_buffer is a wl_drm_buffer. Instead, we move the vtable into the wl_drm struct and use that for comparing. https://bugs.freedesktop.org/show_bug.cgi?id=69437 Cc: 9.2 <[email protected]>
* dri: Move API version validation into dri/common.Eric Anholt2013-10-102-8/+13
| | | | | | | | | | | | | | | | | i965, i915, radeon, r200, swrast, and nouveau were mostly trying to do the same logic, except where they failed to. Notably, swrast had code that appeared to try to enable GLES1/2 but forgot to set api_mask (thus preventing any gles context from being created), and the non-intel drivers didn't support MESA_GL_VERSION_OVERRIDE. nouveau still relies on _mesa_compute_version(), because I don't know what its limits actually are, and gallium drivers don't declare limits up front at all. I think I've heard talk about doing so, though. v2: Compat max version should be 30 (noted by Ken) Drop r100's custom max version check, too (noted by Emil Velikov) Reviewed-by: Kenneth Graunke <[email protected]>
* gallium/state_trackers/glx: X11/Xlib.h: No such file or directoryGaetan Nadon2013-10-091-1/+1
| | | | | | | | | | | | | | | | | The compiler cannot find the Xlib.h in the installed system headers. All supplied include directives point to inside the mesa module. The X11_CFLAGS variable is undefined (not defined in config.status). It appears the intent was to use X11_INCLUDES defined in configure.ac. The Xlib.h file is not installed on my workstation. It is supplied in the libx11-dev package. This allows an X developer control over which version of this file is used for X development. Use to test: --enable-gallium-egl --enable-xlib-glx --disable-dri Acked-by: Brian Paul <[email protected]> Signed-off-by: Gaetan Nadon <[email protected]>
* gallium/state_trackers/egl: use X11_INCLUDES rather than X11_CFLAGSGaetan Nadon2013-10-091-1/+1
| | | | | | | | | | | | | The X11_CFLAGS variable is undefined (not defined in config.status). It appears the intent was to use X11_INCLUDES defined in configure.ac. It is used for building the code in the x11 subdir. The build does not fail on this one as LIBDRM_CFLAGS happens to have the inludedir value as the one for X11. It will not always be the case. The option --enable-gallium-egl is required durimg configuration. Acked-by: Brian Paul <[email protected]> Signed-off-by: Gaetan Nadon <[email protected]>
* st/vdpau: really block until surface is idleGrigori Goronzy2013-10-091-1/+2
| | | | | | | | | | | | pipe_screen::fence_finish with zero timeout returns quickly and doesn't wait at all. Fix that, and also delete the fence afterwards, so that QuerySurfaceStatus returns the right state later. Addresses: https://trac.videolan.org/vlc/ticket/9281 https://bugs.freedesktop.org/show_bug.cgi?id=68792 Reviewed-by: Christian König <[email protected]>
* st/vdpau: add new formats to OutputSurface renderingGrigori Goronzy2013-10-092-1/+24
| | | | | | | | OutputSurfaces have simple YCbCr rendering functionality built in, but so far only 4:2:0 subsampling worked correctly. This fixes 4:2:2 and 4:4:4 formats. Reviewed-by: Christian König <[email protected]>
* st/vdpau: fix GenerateCSCMatrix with NULL procampGrigori Goronzy2013-10-091-9/+12
| | | | | | | | | | | | As per API specification, it is legal to supply a NULL procamp. In this case, a CSC matrix according to the colorspace should be generated, but no further adjustments are made. Addresses: https://trac.videolan.org/vlc/ticket/9281 https://bugs.freedesktop.org/show_bug.cgi?id=68792 Reviewed-by: Christian König <[email protected]>
* st/dri: don't export any private symbolsMarek Olšák2013-10-082-1/+3
| | | | Reviewed-by: Tom Stellard <[email protected]>
* clover: fix building with llvm-3.4 since rev191922Laurent Carlier2013-10-071-1/+5
| | | | http://llvm.org/viewvc/llvm-project?view=revision&revision=191922
* gallium-egl: use standard variable types over EGLBoolean/EGLintEmil Velikov2013-10-031-9/+9
| | | | | | | | | The inferface/prototype in native_wayland_bufmgr.h uses boolean/int, as well as the rest of the file. Convert to improve consistency and to prevent gcc compiler warnings due to type miss-match. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* clover: remove bind_compute_sampler_states() callsBrian Paul2013-10-031-8/+6
|
* clover: use pipe_context::bind_sampler_states() if non-nullBrian Paul2013-10-031-2/+7
|
* st/egl: flush resources before presentationGrigori Goronzy2013-10-011-0/+11
| | | | | | | Fixes regression on r600g due to fast clear introduced by commit edbbfac6. Signed-off-by: Marek Olšák <[email protected]>
* st/xorg: Include u_surface.h for u_copy_rectAlex Deucher2013-10-011-0/+1
| | | | | | | Fixes build errors. Signed-off-by: Alex Deucher <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* st/xvmc: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-012-6/+8
| | | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]> Reviewed-by: Christian König <[email protected]>
* st/xorg: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-013-25/+15
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* st/xa: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-012-7/+9
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* st/wgl: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-012-18/+16
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* st/vega: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-013-63/+33
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* st/vdpau: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-012-12/+14
| | | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]> Reviewed-by: Christian König <[email protected]>
* st/osmesa: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-012-2/+4
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* st/glx: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-014-16/+10
| | | | | | | Move glx/{,xlib/}Makefile.am to preserve file list Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* st/gbm: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-012-1/+4
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* st/egl: consolidate C sources lists into Makefile.sourcesEmil Velikov2013-10-014-53/+53
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* st/dri/sw: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-013-13/+8
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* st/dri: consolidate C sources list into Makefile.sourcesEmil Velikov2013-10-013-13/+8
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* st/clover: consolidate CPP sources list into Makefile.sourcesEmil Velikov2013-10-012-40/+43
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* st/vdpau: Include u_surface.h for u_copy_rect.Vinson Lee2013-09-302-0/+2
| | | | | | | | | | | | | | Fix build errors. CC surface.lo surface.c: In function 'vlVdpVideoSurfaceGetBitsYCbCr': surface.c:247:10: error: implicit declaration of function 'util_copy_rect' [-Werror=implicit-function-declaration] CC output.lo output.c: In function 'vlVdpOutputSurfaceGetBitsNative': output.c:216:4: error: implicit declaration of function 'util_copy_rect' [-Werror=implicit-function-declaration] Signed-off-by: Vinson Lee <[email protected]>
* st/vdpau: Include u_format.h for util_format_description.Vinson Lee2013-09-301-0/+1
| | | | | | | | | | | | | | | | | Fix build error. CC device.lo device.c: In function 'vlVdpDefaultSamplerViewTemplate': device.c:251:4: error: implicit declaration of function 'util_format_description' [-Werror=implicit-function-declaration] device.c:251:9: warning: assignment makes pointer from integer without a cast [enabled by default] device.c:252:12: error: dereferencing pointer to incomplete type device.c:252:28: error: 'UTIL_FORMAT_SWIZZLE_0' undeclared (first use in this function) device.c:252:28: note: each undeclared identifier is reported only once for each function it appears in device.c:254:12: error: dereferencing pointer to incomplete type device.c:256:12: error: dereferencing pointer to incomplete type device.c:258:12: error: dereferencing pointer to incomplete type Signed-off-by: Vinson Lee <[email protected]>
* st/xvmc: Include u_surface.h for u_copy_rect.Vinson Lee2013-09-301-0/+1
| | | | | | | | | | | | | | | This patch fixes the build error introduced with commit 81bb98e928861260170c16f5c3e0d80492251d6b. CC subpicture.lo subpicture.c: In function 'upload_sampler': subpicture.c:181:4: error: implicit declaration of function 'util_copy_rect' [-Werror=implicit-function-declaration] subpicture.c: In function 'XvMCClearSubpicture': subpicture.c:304:21: error: storage size of 'uc' isn't known subpicture.c:328:4: error: implicit declaration of function 'util_fill_rect' [-Werror=implicit-function-declaration] subpicture.c:304:21: warning: unused variable 'uc' [-Wunused-variable] Signed-off-by: Vinson Lee <[email protected]>
* st/egl: include u_format.h for util_format_get_blocksize()Brian Paul2013-09-301-0/+1
|
* st/vdpau: use a separate lock per decoderChristian König2013-09-252-9/+12
| | | | Signed-off-by: Christian König <[email protected]>
* st/vdpau: use new vlc function to serach for VC-1 start codesChristian König2013-09-251-2/+1
| | | | Signed-off-by: Christian König <[email protected]>
* gallium: add flush_resource context functionMarek Olšák2013-09-202-3/+11
| | | | | | | | | r600g needs explicit flushing before DRI2 buffers are presented on the screen. v2: add (stub) implementations for all drivers, fix frontbuffer flushing v3: fix galahad Signed-off-by: Marek Olšák <[email protected]>
* vega: Use pipe_context::blit instead of util_blit_pixels_tex.José Fonseca2013-09-182-20/+26
| | | | | | | | Only compile-tested but it seems straightforward. Reviewed-by: Zack Rusin <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* vdpau/decode: Check max width and max height.Rico Schüller2013-09-151-0/+20
| | | | Reviewed-by: Christian König <[email protected]>
* st/gbm: Add $(WAYLAND_CFLAGS) for HAVE_EGL_PLATFORM_WAYLAND.Johannes Obermayr2013-09-111-0/+1
|
* st/dri: do not create a new context for msaa copyMaarten Lankhorst2013-09-1110-31/+31
| | | | | | | | | | | | | | | | Commit b77316ad7594f st/dri: always copy new DRI front and back buffers to corresponding MSAA buffers introduced creating a pipe_context for every call to validate, which is not required because the callers have a context anyway. Only exception is egl_g3d_create_pbuffer_from_client_buffer, can someone test if it still works with NULL passed as context for validate? From examining the code I believe it does, but I didn't thoroughly test it. Signed-off-by: Maarten Lankhorst <[email protected]> Cc: 9.2 <[email protected]> Reviewed-by: Marek Olšák <[email protected]>