summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris
Commit message (Collapse)AuthorAgeFilesLines
* nir/lower_doubles: Inline functions directly in lower_doublesJason Ekstrand2019-03-061-1/+1
| | | | | | | | | | | | Instead of trusting the caller to already have created a softfp64 function shader and added all its functions to our shader, we simply take the softfp64 shader as an argument and do the function inlining ouselves. This means that there's no more nasty functions lying around that the caller needs to worry about cleaning up. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* iris: add libmesa_iris_gen8 library to the buildTapani Pälli2019-02-271-0/+21
| | | | | | | Patch fixes iris build on Android. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* iris: Enable ARB_shader_draw_parameters supportJose Maria Casanova Crespo2019-02-265-4/+212
| | | | | | | | | | | | | | | | | | Additional VERTEX_ELEMENT_STATE are used to store basevertex and baseinstance and drawid updating the DWordLength of the 3DSTATE_VERTEX_ELEMENTS command. This passes all piglit tests for spec.*draw_parameters.* tests and VK-GL-CTS KHR-GL45.shader_draw_parameters_tests.* tests. Now we only mark a dirty_update when parameters are changed or when we have an indirect draw. We enable PIPE_CAP_DRAW_PARAMETERS on Iris. There is no edge flag support in the Vertex Elements setup. Reviewed-by: Kenneth Graunke <[email protected]>
* meson/iris: Use current coding styleDylan Baker2019-02-251-7/+10
| | | | | | Just a few minor style things. Reviewed-by: Jordan Justen <[email protected]>
* iris: Properly allow rendering to RGBX formats.Kenneth Graunke2019-02-251-2/+9
| | | | | | | | | | | | I was converting them at pipe_surface creation time, but not when answering queries about whether formats support rendering. This caused a lot of FBO incomplete errors for formats that ought to be supported. Fixes "Child of Light", which uses PIPE_FORMAT_R8G8B8X8_UNORM_SRGB. Also fixes Witcher 1 using wined3d (GL) according to Timur Kristóf. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109738
* iris: Drop RGBX -> RGBA for storage image usagesKenneth Graunke2019-02-251-6/+3
| | | | GLSL doesn't expose RGB/RGBX image formats, so this isn't needed.
* iris: Always use in-tree i915_drm.hJordan Justen2019-02-243-3/+3
| | | | | | | | Ref: f1374805a86 "drm-uapi: use local files, not system libdrm" Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Reviewed-by: Sagar Ghuge <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* Revert "iris: Enable auxiliary buffer support"Kenneth Graunke2019-02-211-0/+3
| | | | | | This reverts commit cd0ced49e7957182d23e21657445b720184ea425. It breaks glxgears rendering.
* iris: Enable -msse2 and -mstackrealignKenneth Graunke2019-02-211-3/+3
| | | | | | | This is needed for gen_clflush.h intrinsics to work on 32-bit builds. i965 and anv both set these, and iris needs to as well. Tested-by: Mark Janes <[email protected]>
* iris: Enable auxiliary buffer supportKenneth Graunke2019-02-211-3/+0
| | | | | | This currently regresses KHR-GL4x.compute_shader.resource-texture, but that's a pre-existing bug (https://bugs.freedesktop.org/109113) which should be fixed up once we have fast clear support.
* iris: Flag ALL_DIRTY_BINDINGS on aux state change.Rafael Antognolli2019-02-213-21/+29
| | | | | | If we change the aux state for a given resource, we need to re-emit the binding table pointers for any stage that has such resource bound. Since we don't track that, flag IRIS_ALL_DIRTY_BINDINGS and emit all of them.
* iris: Skip resolve if there's no context.Rafael Antognolli2019-02-211-1/+9
| | | | | | If iris_resource_get_handle() gets called without a context, we can't resolve the resource. Hopefully it shouldn't be compressed anyway, so let's just add an assert to ensure it's correct.
* iris/clear: Pass on render_condition_enabled.Rafael Antognolli2019-02-211-2/+4
|
* iris: Avoid leaking if we fail to allocate the aux buffer.Rafael Antognolli2019-02-211-2/+6
| | | | Otherwise we could leak the aux state map or the aux BO.
* iris: Only resolve compute resources for compute shadersKenneth Graunke2019-02-211-4/+3
|
* iris: Fix aux usage in render resolve codeKenneth Graunke2019-02-211-1/+1
|
* iris: Pin HiZ buffers when rendering.Rafael Antognolli2019-02-211-0/+8
|
* iris: Flush before hiz_exec.Rafael Antognolli2019-02-211-0/+2
|
* iris: Allow disabling aux via INTEL_DEBUG optionsKenneth Graunke2019-02-211-2/+4
|
* iris: do flush for buffers stillKenneth Graunke2019-02-211-19/+17
|
* iris: make surface states for CCS_D tooKenneth Graunke2019-02-211-1/+2
| | | | | | | | CCS_E can fall back to CCS_D with incompatible format views CCS_D is pretty useless without fast clears and we may as well use NONE, but we're surely going to hook those up at some point, so may as well just go ahead and do it now...
* iris: Skip msaa16 on gen < 9.Rafael Antognolli2019-02-211-15/+33
| | | | Also needed to add gen information to KEY_INIT.
* iris: Set program key fields for MCSKenneth Graunke2019-02-211-3/+6
|
* iris: don't use hiz for MSAA buffersKenneth Graunke2019-02-211-9/+12
|
* iris: some initial HiZ bitsKenneth Graunke2019-02-217-17/+146
|
* iris: disable aux for external thingsKenneth Graunke2019-02-211-1/+14
|
* iris: Resolves for computeKenneth Graunke2019-02-211-2/+8
|
* iris: consider framebuffer parameter for aux usagesKenneth Graunke2019-02-213-9/+13
|
* iris: Make blit code use actual aux usagesKenneth Graunke2019-02-211-2/+2
|
* iris: store modifier info in resKenneth Graunke2019-02-212-9/+14
|
* iris: pin the buffersKenneth Graunke2019-02-211-2/+12
|
* iris: resolve before transfer mapsKenneth Graunke2019-02-212-3/+12
|
* iris: be sure to skip buffers in resolve codeKenneth Graunke2019-02-211-0/+6
| | | | Buffers don't have ISL surfaces, and this can get us into trouble.
* iris: try to fix copyimage vs copybuffersKenneth Graunke2019-02-211-15/+18
|
* iris: actually use the multiple surf states for aux modesKenneth Graunke2019-02-211-10/+30
|
* iris: add some draw resolve hooksKenneth Graunke2019-02-216-47/+236
|
* iris: blorp using resolve hooksKenneth Graunke2019-02-212-6/+70
|
* iris: Initial import of resolve codeKenneth Graunke2019-02-215-8/+1050
|
* iris: create aux surface if neededKenneth Graunke2019-02-212-4/+159
|
* iris: Fill out SURFACE_STATE entries for each possible aux usageKenneth Graunke2019-02-211-14/+59
|
* iris: Fill out res->aux.possible_usagesKenneth Graunke2019-02-211-5/+66
|
* iris: Add iris_resource fields for aux surfacesKenneth Graunke2019-02-212-0/+54
| | | | But without fast clears or HiZ per-level tracking just yet.
* iris: Emit default L3 config for the render pipelineJordan Justen2019-02-211-23/+38
| | | | Signed-off-by: Jordan Justen <[email protected]>
* iris: Always emit at least one BLEND_STATEKenneth Graunke2019-02-211-1/+8
|
* iris: Add missing depth cache flushesKenneth Graunke2019-02-211-0/+5
|
* iris: Simplify iris_get_depth_stencil_resourcesKenneth Graunke2019-02-211-5/+1
| | | | | | | | We can safely assume that the given resource is depth, depth/stencil, or stencil already. The stencil-only case is easily detectable with a single format check, and all other cases are handled identically. This saves some CPU overhead.
* iris: Make an IRIS_MAX_MIPLEVELS defineKenneth Graunke2019-02-212-1/+3
|
* iris: Store internal_format when getting resource from handle.Rafael Antognolli2019-02-211-0/+1
|
* iris: Move create and bind driver hooks to the end of iris_program.cKenneth Graunke2019-02-211-330/+312
| | | | | | | | This just moves the code for dealing with pipe_shader_state / pipe_compute_state / iris_uncompiled_shader to the end of the file. Now that those do precompiles, they want to call the actual compile functions. Putting them at the end eliminates the need for a bunch of prototypes.
* iris: implement clearing render target and depth stencilTimur Kristóf2019-02-211-107/+184
| | | | v2 (Kenneth Graunke): split color/depthstencil cases, fix iris_clear