summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* svga: remove local variable in create_backed_surface_view()Brian Paul2016-08-261-7/+4
| | | | | | To simplify the code a bit. Reviewed-by: Neha Bhende <[email protected]>
* r600: increase performance for DRI PRIME offloading if 2nd GPU is Evergreen+Mario Kleiner2016-08-261-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a direct port of Marek Olšáks patch "radeonsi: increase performance for DRI PRIME offloading if 2nd GPU is CIK or VI" to r600. It uses SDMA for the detiling blit from renderoffload VRAM to GTT, as SDMA is much faster for tiled->linear blits from VRAM to GTT. Testing on a dual Radeon HD-5770 setup reduced the time for the render offload gpu to get its rendering into system RAM from approximately 16 msecs for simple rendering at 1920x1080 pixel 32 bpp to 5 msecs, a > 3x speedup! This was measured using ftrace to trace the time the radeon kms driver waited on the dmabuf fence of the renderoffload gpu to complete. All in all this brought the time for a flip down from 20 msecs to 9 msecs, so the prime setup can display at full 60 fps instead of barely 30 fps vsync'ed. The current r600 implementation supports SDMA on Evergreen and later, but not R600/R700 due to some bugs apparently present in their SDMA implementation. Signed-off-by: Mario Kleiner <[email protected]> Cc: Marek Olšák <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* i965: Enable OpenGLES 3.1 for HaswellJordan Justen2016-08-261-0/+5
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* i965: Enable ARB_texture_stencil8 for HaswellJordan Justen2016-08-261-1/+1
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* i965: Enable ARB_stencil_texturing for HaswellJordan Justen2016-08-261-1/+4
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* i965/gen7: Use R8_UINT stencil copy when sampling the stencil textureJordan Justen2016-08-261-2/+10
| | | | | | | | v2: * Check gen <= 7, rather than gen == 7. (Ian) Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* i965/gen7: Copy stencil when sampling the stencil textureJordan Justen2016-08-261-0/+5
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* i965: Add function to copy a stencil miptree to an R8_UINT miptreeJordan Justen2016-08-262-1/+60
| | | | | | | | | v2: * Cleanups suggested by Ian, Matt and Topi Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]>
* i965: Track that the stencil data was updated when using Tex*ImageJordan Justen2016-08-262-2/+8
| | | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]>
* i965: Track that the stencil data was updated when renderingJordan Justen2016-08-261-0/+1
| | | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]>
* i965: Track that the stencil data was updated when clearingJordan Justen2016-08-261-0/+8
| | | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]>
* i965/gen7: Add R8_UINT stencil miptree copy for samplingJordan Justen2016-08-262-0/+14
| | | | | | | | | | | For gen < 8, we can't sample from the stencil buffer, which is required for the ARB_stencil_texturing extension. We'll make a copy of the stencil data into a new texture that we can sample using the R8_UINT surface type. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]>
* i965: Fix assert with multisampling and cubemapsJordan Justen2016-08-261-2/+4
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* i965/hsw: Adjust uploading default color for stencil surfacesJordan Justen2016-08-261-2/+15
| | | | | | | | v2: * has_component (Ken); const bits_per_channel (Topi) Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* i965/hsw: Don't advertise more than 64 threads for compute shadersJordan Justen2016-08-261-14/+25
| | | | | | | | | | | thread_width_max in the GPGPU walker command limits us to a maximum of 64 threads. This fixes a crash on Haswell in the OpenGLES 3.1 conformance test suite which tests the advertised limits of the max invocation counts. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* main: Add MESA_VERBOSE=api support for glClearStencilJordan Justen2016-08-261-0/+3
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* main: Add MESA_VERBOSE=api support for glTexImageJordan Justen2016-08-261-0/+5
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* svga: add guest statistic gathering interfaceCharmaine Lee2016-08-261-0/+49
| | | | | | | This file was supposed to be added with the previous "svga: add guest statistic gathering interface" patch but went MIA for some reason. Reviewed-by: Brian Paul <[email protected]>
* radeonsi: disable CE on SI + AMDGPUMarek Olšák2016-08-261-1/+3
| | | | | Reviewed-by: Edward O'Callaghan <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* winsys/amdgpu: disable IB chaining on SIMarek Olšák2016-08-261-5/+6
| | | | | Reviewed-by: Edward O'Callaghan <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* winsys/amdgpu: finish up SI addrlib integrationMarek Olšák2016-08-261-5/+25
| | | | Reviewed-by: Edward O'Callaghan <[email protected]>
* winsys/amdgpu: initial SI supportRonie Salgado2016-08-263-6/+46
| | | | | Signed-off-by: Marek Olšák <[email protected]> Reviewed-by: Edward O'Callaghan <[email protected]>
* gallium/radeon: add a driver query for AMDGPU_INFO_NUM_EVICTIONSMarek Olšák2016-08-265-2/+17
| | | | | | If the kernel driver doesn't support it, it returns 0. Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radeonsi: fix printing shaders and states on a VM faultMarek Olšák2016-08-261-1/+3
| | | | | | This was missed while rewriting the PIPE_DUMP flags. Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radeonsi: increase performance for DRI PRIME offloading if 2nd GPU is CIK or VIMarek Olšák2016-08-261-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | SDMA is much faster for tiled->linear blits from VRAM to GTT. I have Bonaire in my second PCIe slot. $ glxinfo | grep OpenGL.renderer OpenGL renderer string: Gallium 0.4 on AMD TONGA ... $ DRI_PRIME=1 glxinfo | grep OpenGL.renderer OpenGL renderer string: Gallium 0.4 on AMD BONAIRE ... Without SDMA: $ DRI_PRIME=1 glxgears 8796 frames in 5.0 seconds = 1759.074 FPS 8899 frames in 5.0 seconds = 1779.672 FPS With SDMA: $ DRI_PRIME=1 glxgears 12765 frames in 5.0 seconds = 2552.788 FPS 12888 frames in 5.0 seconds = 2577.495 FPS The 1st GPU is irrelevant. The improvement should be much lower at 60 fps, but definitely measurable. SI will get this once we add SDMA blit support for it. Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radeonsi: enable SDMA on CIKMarek Olšák2016-08-261-4/+0
| | | | | | It passes R600_DEBUG=testdma on Bonaire/radeon. Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* gallium/radeon: increase priority for shader binariesMarek Olšák2016-08-262-2/+2
| | | | Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* gallium/radeon: merge USER_SHADER and INTERNAL_SHADER priority flagsMarek Olšák2016-08-268-15/+13
| | | | | | there's no reason to separate these Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* vbo: set draw_idMiklós Máté2016-08-261-0/+1
| | | | | | | | | Fixes conditional jump depending on uninitialized value in si_state_draw.c:593 Cc: <[email protected]> Signed-off-by: Miklós Máté <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* svga: fix regression related to srgbNeha Bhende2016-08-261-0/+12
| | | | | | | | | This regression is caused because of commit 3190c7ee9727161d627f107c2e7f8ec3a11941c1 Regression caused by following OpenGL 4.4 spec rules relates to GL_FRAMEBUFFER_SRGB in Mesa. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
* svga: use local variable blit instead of pointerNeha Bhende2016-08-261-29/+30
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
* svga: s/INDEX_0D/INDEX_IMMEDIATE32/Brian Paul2016-08-261-1/+1
| | | | Both are zero, but the later is the right token.
* svga: add comment about unsupported blend modesBrian Paul2016-08-261-0/+3
|
* svga: fix ordering of mksstats counter stringsCharmaine Lee2016-08-261-1/+1
| | | | | | | String for SVGA_STATS_COUNT_TEXREADBACK was swapped with the string for SVGA_STATS_COUNT_SURFACEWRITEFLUSH. Trivial fix.
* svga: avoid emitting redundant SetShaderResource commandCharmaine Lee2016-08-264-34/+63
| | | | | | Tested with Lightsmark2008, Heaven, MTT piglit, glretrace, viewperf, conform. Reviewed-by: Brian Paul <[email protected]>
* svga: add a cleanup function to clean up sampler stateCharmaine Lee2016-08-263-11/+22
| | | | | | | This patch adds a cleanup function to clean up sampler state at context destruction time. Reviewed-by: Brian Paul <[email protected]>
* svga: loosen the condition to flush in get_query_result_vgpu10()Brian Paul2016-08-261-1/+1
| | | | | | | | | Fixes piglit spec/ext_transform_feedback/overflow-edge-cases segfaults because the query's fence pointer was null. Tested with Piglit, Sauerbraten, ETQW. Reviewed-by: Charmaine Lee <[email protected]>
* svga: fix vgpu10 query fencingBrian Paul2016-08-261-11/+11
| | | | | | | | | | | We don't want to flush the command buffer or sync on the fence when ending a query (that kind of defeats the whole purpose of async queries). Do that instead in get_query_result(). Tested with Piglit, arbocclude, Sauerbraten game, Nobel Clinician Viewer, ETQW. Reviewed-by: Charmaine Lee <[email protected]>
* svga: avoid emitting redundant DXSetSamplers commandCharmaine Lee2016-08-262-8/+25
| | | | | | | | This patch avoid emitting redundant DXSetSamplers command. Tested with Lightsmark2008, Heaven, MTT piglit, glretrace, viewperf. Reviewed-by: Brian Paul <[email protected]>
* svga: enable ARB_clear_texture extension in the driver.Neha Bhende2016-08-261-1/+2
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
* svga: define svga_clear() in svga_init_clear_functions()Neha Bhende2016-08-263-11/+2
| | | | | | | Put all the clearing related functions in svga_init_clear_functions() Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
* svga: add svga_init_clear_functions()Neha Bhende2016-08-263-0/+6
| | | | | | | | | define svga_init_clear_functions() and svga_clear_texture as svga->pipe.clear_texture. This is part of ARB_clear_texture extension Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
* svga: add new function svga_clear_texture()Neha Bhende2016-08-261-0/+188
| | | | | | | | | To clear texture this function can be used. This is part of ARB_clear_texture extension. Basically this extension allows you to clear texture with given color values. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
* svga: add new begin_blit()Neha Bhende2016-08-261-9/+18
| | | | | | | | Saving all blitter states will be done in begin_blit() so that begin_blit() can be used before performing any blit operation. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
* svga: add opt to the list of valid build typesCharmaine Lee2016-08-261-0/+2
| | | | | | For opt build, add VMX86_STATS to the list of cpp defines. Reviewed-by: Brian Paul <[email protected]>
* svga: add guest statistic gathering interfaceCharmaine Lee2016-08-2631-85/+468
| | | | | | | | | | | | With this patch, guest statistic gathering interface is added to svga winsys interface that can be used to gather svga driver statistic. The winsys module can then share the statistic info with the VMX host via the mksstats interface. The statistic enums used in the svga driver are defined in svga_stats_count and svga_stats_time in svga_winsys.h Reviewed-by: Brian Paul <[email protected]>
* svga: fix indirect non-indexable temp accessCharmaine Lee2016-08-261-2/+25
| | | | | | | | | | | If the shader has indirect access to non-indexable temporaries, convert these non-indexable temporaries to indexable temporary array. This works around a bug in the GLSL->TGSI translator. Fixes glsl-1.20/execution/fs-const-array-of-struct-of-array.shader_test on DX11Renderer. Reviewed-by: Brian Paul <[email protected]>
* gallium/hud: move signo declaration inside PIPE_OS_UNIX blockBrian Paul2016-08-261-1/+1
| | | | | | To silence unused var warning with MSVC, MinGW. Reviewed-by: Marek Olšák <[email protected]>
* i965: Embrace "unlimited" GTT mmap supportChris Wilson2016-08-264-16/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | From about kernel 4.9, GTT mmaps are virtually unlimited. A new parameter, I915_PARAM_MMAP_GTT_VERSION, is added to advertise the feature so query it and use it to avoid limiting tiled allocations to only fit within the mappable aperture. A couple of caveats: - fence support is still limited by stride to 262144 and the stride needs to be a multiple of tile_width (as before, and same limitation as the current 3D pipeline in hardware) - the max_gtt_map_object_size forcing untiled may be hiding a few bugs in handling of large objects, though none were spotted in piglits. See kernel commit 4cc6907501ed ("drm/i915: Add I915_PARAM_MMAP_GTT_VERSION to advertise unlimited mmaps"). v2: Include some commentary on mmap virtual space vs CPU addressable space. Signed-off-by: Chris Wilson <[email protected]> Cc: Kenneth Graunke <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Daniel Vetter <[email protected]>
* mesa/main: Fix missing return in non void functionTobias Klausmann2016-08-261-1/+1
| | | | | | | | | | | This was found by obs: I: Program returns random data in a function E: Mesa no-return-in-nonvoid-function main/program_resource.c:109 v2: Remove the ! on the string (Ian Romanick) Signed-off-by: Tobias Klausmann <[email protected]> Reviewed-by: Ian Romanick <[email protected]>