summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/dri/dri_screen.c
Commit message (Collapse)AuthorAgeFilesLines
* st/dri: remove trailing whitespaceMauro Rossi2016-11-011-1/+1
|
* mesa/st: support lowering multi-planar YUVRob Clark2016-09-261-0/+11
| | | | | | | | | | | | | | | Support multi-planar YUV for external EGLImage's (currently just in the dma-buf import path) by lowering to multiple texture fetch's for each plane and CSC in shader. There was some discussion of alternative approaches for tracking the additional UV or U/V planes: https://lists.freedesktop.org/archives/mesa-dev/2016-September/127832.html They all seemed worse than pipe_resource::next Signed-off-by: Rob Clark <robdclark@gmail.com>
* st/dri: respect driver's request to avoid mixed color/depth bit configsIlia Mirkin2016-08-231-2/+6
| | | | | Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* dri: add a way to request that modes have matching color/zs depthsIlia Mirkin2016-08-231-2/+2
| | | | | | | | | | Some GPUs, notably nv3x/nv4x can't render to mismatched color/zs framebuffer depths. Fallbacks can be done by the driver, with shadow surfaces, but no reason to encourage applications to select non-matching glx visuals. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
* glsl: add driconf to zero-init unintialized varsRob Clark2016-07-021-0/+2
| | | | | | | | | | | | | Some games are sloppy.. perhaps because it is defined behavior for DX or perhaps because nv blob driver defaults things to zero. So add driconf param to force uninitialized variables to default to zero. This issue was observed with rust, from steam store. But has surfaced elsewhere in the past. Signed-off-by: Rob Clark <robclark@freedesktop.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
* Revert "st/dri: add 32-bit RGBX/RGBA formats"Marek Olšák2016-04-241-4/+0
| | | | | | | | | This reverts commit ccdcf91104a5f07127b5b8d8570b5c4bbcf86647. It breaks most KDE apps, because DRI doesn't support the RGBA component ordering. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95071
* st/dri: add 32-bit RGBX/RGBA formatsRob Herring2016-04-211-0/+4
| | | | | | | | Add support for 32-bit RGBX/RGBA formats which are preferred for Android. Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Eric Anholt <eric@anholt.net>
* st/dri: NULL check the pscreen earlierEmil Velikov2015-11-211-5/+0
| | | | | | | | We delay the null check only to jump through hoops to work around that. Check early to make our lives easier. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Rob Clark <robclark@freedesktop.org>
* {st,targets}/dri: use static/dynamic pipe-loaderEmil Velikov2015-11-211-2/+0
| | | | | | | | | | Covert DRI to use only the pipe-loader interface. With drisw_create_screen and kms_swrast_create_screen replaced by their pipe-loader equivalent, we can now drop them. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Rob Clark <robclark@freedesktop.org>
* st/dri: expose sRGB visuals (v2)Marek Olšák2015-07-221-4/+19
| | | | | | | v2: The fix for the darkness in Ubuntu Unity is in the hunk with the 4-line comment. Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
* st/dri: implement the fence interface for CL eventsMarek Olšák2015-04-301-0/+1
|
* st/dri: replace Elements() with ARRAY_SIZE()Brian Paul2015-03-021-4/+4
| | | | Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
* st/dri: remove GALLIUM_MSAA and __GL_FSAA_MODE environment variablesMarek Olšák2014-09-191-35/+0
| | | | | | | | | | | | | | | | | | | | Some users don't understand that these variables can break OpenGL. The general is rule is that if an app supports MSAA, you mustn't use GALLIUM_MSAA. For example, if an app has an 8xMSAA FBO and GALLIUM_MSAA=4 is set, resolving the FBO to the back buffer will be rejected which will look like this on all gallium drivers: http://www.phoronix.com/scan.php?page=article&item=amd_radeonsi_msaa The environment variables also have no effect on modern apps like TF2, but there is still a performance hit due to wasted bandwidth and VRAM. In a nutshell, it does more harm than good. Cc: 10.2 10.3 <mesa-stable@lists.freedesktop.org> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
* gallium: pass st_config_options to query_versionsMarek Olšák2014-08-111-2/+24
| | | | | | | So move it from dri_context to dri_screen. This will be needed for version computations. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
* gallium/stapi: move setting GL versions to the state trackerMarek Olšák2014-08-111-12/+5
| | | | | | | All flags are set for st/mesa, so the state tracker doesn't have to check them. Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
* st/mesa,gallium: add a workaround for Unigine Heaven 4.0 and Valley 1.0Marek Olšák2014-07-181-0/+1
| | | | | | | Most (all?) Unigine shaders fail to compile without this if sample shading is advertised. This is, of course, Unigine developers' fault. Reviewed-by: Brian Paul <brianp@vmware.com>
* st/dri: merge dri/drm and dri/sw backendsEmil Velikov2014-07-101-0/+473
| | | | | | | | | | | | | | Move the driver_name to dri2/drisw and remove all the SPLIT_TAGETS mayhem. In the next step we'll unify the dri and dri-swrast targets, completing the gallium DRI megadriver. v2: Remove leftover st/dri Makefiles from CONFIG_FILES. Spotted by Thomas Helland. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Tested-by: Rob Clark <robclark@freedesktop.org> Tested-by: Thomas Helland <thomashelland90 at gmail.com> Acked-by: Tom Stellard <thomas.stellard@amd.com>
* st/dri: Move common files to common directoryJakob Bornecrantz2010-03-261-373/+0
| | | | | | | | | | | | | | | | 27 files changed, 15 insertions(+), 15 deletions(-) rename src/gallium/state_trackers/dri/{ => common}/dri1_helper.c (100%) rename src/gallium/state_trackers/dri/{ => common}/dri1_helper.h (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_context.c (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_context.h (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_drawable.c (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_drawable.h (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_extensions.c (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_screen.c (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_screen.h (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_st_api.c (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_st_api.h (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_wrapper.h (100%)
* st/dri: Don't include sw vs drm dri headersJakob Bornecrantz2010-03-251-0/+3
|
* st/dri: Add dri2 prefix for all dri2.c functionsJakob Bornecrantz2010-03-251-1/+1
|
* st/dri: add driswGeorge Sapountzis2010-03-251-0/+33
|
* st/dri: export DRI1 surface / pipeGeorge Sapountzis2010-03-251-2/+3
| | | | They will be used by DRISW. Also, add destroy functions.
* st/dri: split out DRI2 codeGeorge Sapountzis2010-03-251-85/+2
|
* st/dri: minor cosmetic for screenGeorge Sapountzis2010-03-251-20/+27
| | | | | - put extensions above init_screen - split out destroy_option_cache
* st/dri: add inline for dri2 check done in multiple placesGeorge Sapountzis2010-03-251-7/+2
|
* st/dri: Switch from st_public.h to st_api.h.Chia-I Wu2010-03-181-26/+111
| | | | | This is tested with demos found in progs/demos. However, only the DRI2 path is tested.
* st/dri: Headers and public symbols clean up.Chia-I Wu2010-03-181-2/+1
| | | | Remove unused headers and stop marking driDriverAPI as PUBLIC.
* st/dri: Move DRI1 bits in dri_drawable.c to dri1.c.Chia-I Wu2010-03-181-3/+4
|
* st/dri: Move DRI1 bits in dri_screen.c to dri1.c.Chia-I Wu2010-03-181-75/+4
|
* st/dri: Always try to set up R5G6B5 configs.Michel Dänzer2010-03-121-49/+52
| | | | | | | | | | Allows compiz to work in depth 16. The DRI2 getBuffersWithFormat hook is only required for 16/32 bit depth buffers, for colour buffers the only requirement is that the format matches the drawable depth, which we can't check here. (cherry picked from commit c50477c255a34444720fb944c54373462ef39fb9)
* dri: Rename pipe formats.José Fonseca2010-03-011-7/+7
|
* st/dri2: Use event-driven buffer validation.Francisco Jerez2010-02-161-0/+12
|
* st/dri: don't expose visuals we'll have trouble supportingZack Rusin2010-02-121-9/+20
| | | | | without getBuffersWithFormat some visuals will just cause headaches (crashes), so if we're running on an older system simply don't advertise them.
* dri: Allow selective generation of accum. buffer configsIan Romanick2010-02-101-3/+6
| | | | | | | | | | | Modify the interface to driCreateConfigs allowing drivers to not expose configs with an accumuation buffer. All of the drivers calling function have been updated to pass true for the accumulation selector. This maintains the current behavior. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Corbin Simpson <MostAwesomeDude@gmail.com>
* gallium: fix more missing includes from various placesDave Airlie2010-02-041-0/+2
| | | | nouveau/ dri st / vmware
* st/dri: Remove duplicate type qualifier.Vinson Lee2010-01-311-1/+1
|
* st/dri: Remove unnecessary headers.Vinson Lee2010-01-281-4/+0
|
* Merge branch 'mesa_7_7_branch'Brian Paul2010-01-221-0/+15
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
| * st/dri: update dri2 drawables when viewport is changedBen Skeggs2010-01-191-0/+1
| | | | | | | | | | | | | | Fixes gnome-shell on nouveau, as well as window resize with various other applications. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * st/dri: fix optionCache memory leaksMarcin Slusarz2010-01-181-0/+10
| | | | | | | | Signed-off-by: Brian Paul <brianp@vmware.com>
| * st/dri: Don't request a fake front if the server adds one automatically.Thomas Hellstrom2010-01-181-0/+5
| | | | | | | | | | | | | | We use the presence of the getBuffersWithFormat extension function to detect whether the server automatically adds a front. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
* | dri: Add an MSAA-enabled factor to DRI configs.Corbin Simpson2010-01-181-2/+3
| | | | | | | | | | | | | | | | 4 samples should be enough for GLUT to be satisfied, and I think most of the HW that does any MSAA, can do it. Note that any pipe that doesn't multisample can just ignore the corresponding flag in pipe_rasterizer_state.
* | dri: Properly calculate number of modes for MSAA.Corbin Simpson2010-01-181-3/+5
| | | | | | | | Split from the next patch for bisection purposes only.
* | st/dri: update dri2 drawables when viewport is changedBen Skeggs2010-01-111-0/+1
| | | | | | | | | | | | | | Fixes gnome-shell on nouveau, as well as window resize with various other applications. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | Push __driDriverExtensions out of dri_util.c and into the driversKristian Høgsberg2010-01-041-0/+8
| | | | | | | | | | | | | | | | | | This lets the individual drivers select which extensions to advertise. Specifically, most drivers (tdfx, sis, savage etc) don't support DRI2 but the shared extension list in dri_util.c does list the DRI2 extension. Pushing the list into the drivers, lets us avoid listing the DRI2 extension for drivers that don't support it.
* | Remove leftover __DRI{screen,drawable,context}Private referencesKristian Høgsberg2010-01-041-4/+4
|/ | | | | | | | | As part of the DRI driver interface rewrite I merged __DRIscreenPrivate and __DRIscreen, and likewise for __DRIdrawablePrivate and __DRIcontextPrivate. I left typedefs in place though, to avoid renaming all the *Private use internal to the driver. That was probably a mistake, and it turns out a one-line find+sed combo can do the mass rename. Better late than never.
* mesa: Enable remap table in core.Chia-I Wu2009-10-231-5/+0
| | | | | | | | | | | | | This enables the remap table in core. driInitExtensions is adapted to use the remap table. All uses of extension_helper.h are replaced by remap_helper.h. The chicken-egg problem of the DRI drivers is also solved. It is now also possible to pass NULL extensions to driInitExtensions. It will cause driInitExtensions to map all known functions. This functionality is used by software drivers and EGL_i915. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* st/dri: Redo config generationJakob Bornecrantz2009-08-261-50/+76
|
* st/dri: Add support for GLX_EXT_texture_from_pixmap with direct rendering.Michel Dänzer2009-08-131-0/+7
|
* drm/st: Return drm_api struct from a functionJakob Bornecrantz2009-06-301-2/+4
|