summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
Commit message (Collapse)AuthorAgeFilesLines
* clover: implement CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLEGrigori Goronzy2015-06-293-1/+7
| | | | | | | | | | Work-group size should always be aligned to subgroup size; this is a basic requirement, otherwise some work-items will be no-operation. It might make sense to refine the value according to a kernel's resource usage, but that's a possible optimization for the future. Reviewed-by: Francisco Jerez <[email protected]>
* mesa: Enable subdir-objects globally.Matt Turner2015-06-262-3/+0
| | | | Reviewed-by: Emil Velikov <[email protected]>
* st/wgl: add stw_nopfuncs.h to the sources listsEmil Velikov2015-06-241-0/+1
| | | | Signed-off-by: Emil Velikov <[email protected]>
* st/wgl: fix WGL_SWAP_METHOD_ARB queryBrian Paul2015-06-191-1/+6
| | | | | | | | | | There are three possible return values (not two): WGL_SWAP_COPY_ARB, WGL_SWAP_EXCHANGE_EXT and WGL_SWAP_UNDEFINED_ARB. VMware bug 1431184 Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
* stw: use new stw_get_nop_function() function to avoid Viewperf 12 crashesBrian Paul2015-06-191-3/+20
| | | | | | | Also, print a warning if we do return NULL from wglGetProcAddress() to help spot this sort of problem in the future. Reviewed-by: José Fonseca <[email protected]>
* stw: add some no-op functions for GL_EXT_dsa, GL_NV_half_floatBrian Paul2015-06-193-0/+476
| | | | | | | | | | | | | | | | | | Viewperf 12 calls wglGetProcAddress() to get pointers to some unsupported DSA and half-float functions. We return NULL but Viewperf doesn't check for null before trying to jump through the pointer. That causes a crash. This patch adds no-op functions to call instead (used by the next patch). This avoids the crash but the rendering is incorrect. Some DSA functions are being added to Mesa at this time so we may be able to remove some of these no-ops in the future. More no-op functions may be added as needed. VMware PR1383421 Reviewed-by: José Fonseca <[email protected]>
* st/wgl: Don't return core profile for 3.1 contexts.Jose Fonseca2015-06-191-7/+6
| | | | | | | | | | | | | | | | | | | WGL_CONTEXT_PROFILE_MASK_ARB doesn't apply to desktop OpenGL versions less than 3.2 -- applications can't specify whether they want a core or a compat 3.1 context -- instead they are supposed the check whether the returned context advertises GL_ARB_compatibility extension. Mesa doesn't support compatability contexts for version higher than 3.1, so we used to return core profile context, but this makes several Windows applications unhappy, because they just assume they got a compatability context without checking. So it seems safer to on Windows to never return core profile for 3.1, ie, just fail the context creation. VMware PR1365920. Reviewed-by: Brian Paul <[email protected]>
* st/wgl: set PIPE_BIND_SAMPLER_VIEW for window color buffersBrian Paul2015-06-191-0/+1
| | | | | | | To allow sampling from the surface for things like glCopyPixels or glCopyTexSubImage. Reviewed-by: Charmaine Lee <[email protected]>
* st/wgl: add support for multisample pixel formatsBrian Paul2015-06-191-9/+20
| | | | | | | | | Create pixel formats with 0, 4, 8 and 16 samples per pixel. Add a SVGA_FORCE_MSAA env var to force creating all pixel formats with a particular sample count. This is useful for testing Mesa/GLUT/ etc. programs which don't ordinarily use multisample. Reviewed-by: Matthew McClure <[email protected]>
* st/wgl: respect sample count when creating framebuffer surfacesBrian Paul2015-06-191-0/+1
| | | | | | Use the visual/pixel format's sample count instead of zero. Reviewed-by: Matthew McClure <[email protected]>
* st/wgl: fix WGL_SAMPLE_BUFFERS_ARB queryBrian Paul2015-06-191-1/+1
| | | | | | | Only report 1 for WGL_SAMPLE_BUFFERS_ARB if the number of samples per pixel > 1. Reviewed-by: Matthew McClure <[email protected]>
* mesa; add a dummy _mesa_error_no_memory() symbol to libglsl_utilEmil Velikov2015-06-121-12/+0
| | | | | | | | | | | | Rather than forcing everyone to provide their own definition of the symbol provide a common (dummy) one. This helps us resolve the build of the standalone pipe-drivers (amongst others), which are missing the symbol. Cc: Rob Clark <[email protected]> Cc: "10.6" <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* st/dri: check pscreen is valid before querying paramDave Airlie2015-06-101-1/+1
| | | | | | | | | we don't check the validity of pscreen until dri_init_screen_helper hit this trying to init glamor on a device with no driver (udl). Acked-by: Michel Dänzer <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* android: add rules to build gallium/state_trackers/driChih-Wei Huang2015-06-091-0/+64
| | | | | Signed-off-by: Chih-Wei Huang <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* clover: clarify and fix the EGL interop error caseMarek Olšák2015-06-051-1/+6
| | | | Cc: 10.6 <[email protected]>
* tgsi/ureg: add support for output array declarationsMarek Olšák2015-06-052-7/+12
|
* tgsi/ureg: add support for FS input array declarationsMarek Olšák2015-06-051-1/+1
|
* st/dri: fix postprocessing crash when there's no depth bufferMarek Olšák2015-05-291-5/+4
| | | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89131 Cc: 10.6 10.5 <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* clover: Log build options when dumping clc source.EdB2015-05-271-1/+1
| | | | Reviewed-by: Francisco Jerez <[email protected]>
* xlib: fix X_GLXCreateContextAtrribs/Attribs typoBrian Paul2015-05-261-10/+17
| | | | | | | | | In case the glproto.h file isn't up to date, we provide the #define for X_GLXCreateContextAttribsARB. v2: fix other occurances, improve #ifndef test, per Jose. Reviewed-by: Jose Fonseca <[email protected]>
* clover: Build fix for FreeBSD.Koop Mast2015-05-261-0/+1
| | | | Cc: 10.6 10.5 <[email protected]>
* clover: try userptr for CL_MEM_USE_HOST_PTRGrigori Goronzy2015-05-242-4/+15
| | | | | | | | | | | | According to spec, CL_MEM_USE_HOST_PTR should directly use host memory, if possible. This is just what userptr is for, so use it. In case the memory cannot be mapped, a fallback similar to CL_MEM_COPY_HOST_PTR is used. v2: constify, drop unneeded cast Reviewed-by: Francisco Jerez <[email protected]>
* clover: implement CL_MEM_ALLOC_HOST_PTRGrigori Goronzy2015-05-241-0/+4
| | | | | | | | | | This flag is typically used to request pinned host memory, to avoid any copies between GPU and CPU. This improves throughput with an older OpenCL app which I unfortunately can't publish due to its licensing. Reviewed-by: Francisco Jerez <[email protected]>
* st/hgl: Move st_api creation to st and extern "C" itAlexander von Gluck IV2015-05-152-8/+22
| | | | Reviewed-by: Brian Paul <[email protected]>
* gallium/st + hgl: Build fixes for HaikuAlexander von Gluck IV2015-05-131-0/+2
| | | | | | * No impact risk to any other platforms * Tracing printf needs stdio.h now due to child header change * Add missing #/src include directory for util/macros.h
* st/dri: add support for create_context_robustness GLX and EGL extensionsMarek Olšák2015-05-123-9/+42
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* clover: Implement locking of the wait_count, _chain and _status members of ↵Francisco Jerez2015-05-121-0/+8
| | | | | | | event. Tested-by: Tom Stellard <[email protected]> CC: 10.5 <[email protected]>
* clover: Wrap event::_status in a method to prevent unlocked access.Francisco Jerez2015-05-122-7/+12
| | | | | Tested-by: Tom Stellard <[email protected]> CC: 10.5 <[email protected]>
* clover: Refactor event::trigger and ::abort to prevent deadlock and ↵Francisco Jerez2015-05-122-12/+34
| | | | | | | | | | | | reentrancy issues. Refactor ::trigger and ::abort to split out the operations that access concurrently modified data members and require locking from the recursive and possibly re-entrant part of these methods. This will avoid some deadlock situations when locking is implemented. Tested-by: Tom Stellard <[email protected]> CC: 10.5 <[email protected]>
* clover: Fix a bug with multi-threaded events v2Tom Stellard2015-05-112-3/+17
| | | | | | | | | | | | | | | | | | | | It was possible for some events never to get triggered if one thread was creating events and another threads was waiting for them. This patch consolidates soft_event::wait() and hard_event::wait() into event::wait() so that hard_event objects will now wait for all their dependencies to be submitted before flushing the command queue. v2: - Rename variables - Use mutable varibales so we can keep event::wait() const - Open code signalled() call so mutex can be atted to signalled without deadlocking. CC: 10.5 <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* clover: Add a mutex to guard queue::queued_eventsTom Stellard2015-05-112-0/+4
| | | | | | | | | | | | This fixes a potential crash where on a sequence like this: Thread 0: Check if queue is not empty. Thread 1: Remove item from queue, making it empty. Thread 0: Do something assuming queue is not empty. CC: 10.5 <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* egl/swrast: Enable config extension for swrastAxel Davy2015-05-111-0/+1
| | | | | | | | Enables to use dri config for swrast, like vblank_mode. Reviewed-by: Dave Airlie <[email protected]> Signed-off-by: Axel Davy <[email protected]>
* util: Move gallium's linked list to utilJason Ekstrand2015-05-086-6/+6
| | | | | | | | | The linked list in gallium is pretty much the kernel list and we would like to have a C-based linked list for all of mesa. Let's not duplicate and just steal the gallium one. Acked-by: Connor Abbott <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* st/dri: implement the fence interface for CL eventsMarek Olšák2015-04-303-1/+81
|
* gallium,clover: add OpenCL interoperability support for CL eventsMarek Olšák2015-04-303-0/+73
| | | | | | | | | | | v2: - move interop.cpp to clover/api - change intptr_t to void* in the interface - add a virtual function fence() to simplify some code v3: - use bool in the interface v4: - enclose the last two interop functions in try..catch Reviewed-by: Francisco Jerez <[email protected]>
* st/dri: implement the fence interfaceMarek Olšák2015-04-301-0/+80
|
* clover: remove util/compatEdB2015-04-2912-367/+56
| | | | | Acked-by: Francisco Jerez <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* clover: make module::symbol::name a stringEdB2015-04-293-4/+24
| | | | | Acked-by: Francisco Jerez <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* clover: remove compat::stringEdB2015-04-297-129/+26
| | | | | Acked-by: Francisco Jerez <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* clover: remove compat classes that match std oneEdB2015-04-296-70/+6
| | | | | Acked-by: Francisco Jerez <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* clover: compile all sources with c++11EdB2015-04-291-1/+2
| | | | | | | Later we can remove the compat code Reviewed-by: Francisco Jerez <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* st/nine: Remove Managed texture hack.Axel Davy2015-04-291-3/+4
| | | | | | | | | | | | Previously binding an unitialized managed texture was causing a crash, and a workaround was added to prevent the crash. This patch removes this workaround and instead set the initial state of managed textures as dirty, so that when the texture is bound for the first time, it is always initialized. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Enforce LOD 0 for D3DUSAGE_AUTOGENMIPMAPAxel Davy2015-04-292-3/+10
| | | | | | | | | For D3DUSAGE_AUTOGENMIPMAP textures, applications can only lock/copy from/get surface descriptor for/etc the first level. Thus it makes sense to restrict the LOD to 0, and use only the first level to generate the sublevels. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Some D3DUSAGE_AUTOGENMIPMAP fixesAxel Davy2015-04-293-2/+17
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: util_gen_mipmap doesn't need we reset states.Axel Davy2015-04-291-2/+0
| | | | | | | util_gen_mipmap uses pipe->blit, and thus doesn't need we restore all states after using it. Signed-off-by: Axel Davy <[email protected]>
* st/nine: D3DUSAGE_AUTOGENMIPMAP is forbidden for volumesAxel Davy2015-04-292-16/+1
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix NineBaseTexture9_PreLoadAxel Davy2015-04-291-1/+1
| | | | | | | It wasn't uploading the texture when the lod had changed. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Rewrite Managed texture uploadsAxel Davy2015-04-291-96/+125
| | | | | | | | That part of the code was quite obscure. This new implementation tries to make it clearer by separating the differents parts, and commenting more. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Bound the dirty regions to resource sizeAxel Davy2015-04-293-0/+16
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: Simplify Surface9 Managed resources implementationAxel Davy2015-04-294-93/+53
| | | | | | | | | | | Remove the Surface9 code for dirty rects, used only for Managed resources. Instead convey the information to the parent texture. According to documentation, this seems to be the expected behaviour, and if documentation is wrong there, that's not a problem since it can only leads to more texture updates in corner cases. Signed-off-by: Axel Davy <[email protected]>