aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/frontends/nine
Commit message (Collapse)AuthorAgeFilesLines
* nine: remove unused varTimothy Arceri2020-07-091-1/+0
| | | | | Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819>
* meson: use gnu_symbol_visibility argumentDylan Baker2020-06-011-1/+1
| | | | | | | | | | This uses a meson builtin to handle -fvisibility=hidden. This is nice because we don't need to track which languages are used, if C++ is suddenly added meson just does the right thing. Acked-by: Matt Turner <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>
* st/nine: Handle full pSourceRect betterAxel Davy2020-05-151-13/+13
| | | | | | | | | | | | Some apps do set pSourceRect to the full area even if not needed. Filtering out this case is helpful, as we currently do not handle properly resizing (pDestRect or window size not of the size of the resource) when pSourceRect is set. Indeed in this case pSourceRect needs to be modified before being passed to the presentation backend. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Ignore pDirtyRegionAxel Davy2020-05-151-1/+5
| | | | | | | | | We supported it, but it's not much useful. Besides it gets more complicated to handle right when you support resizing before display. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Improve pDestRect handlingAxel Davy2020-05-151-3/+18
| | | | | | | | | | | | | | | | pSourceRect and pDestRect allows to: A) display a crop of the backbuffer B) display the content in a subregion (after an offset) C) resize the content before displaying Before this patch, only features A and B were supported. This patch adds C, but breaks A, which current support relied on C not being implemented. I think C is more important than A, and A can be added later. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Retry allocations after freeing some spaceAxel Davy2020-05-156-8/+68
| | | | | | | | | Managed resources can be released whenever we need. When we have an allocation failure, free them and retry. Try also to flush the csmt queue in case there were some things released. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Increase available GPU memoryAxel Davy2020-05-151-6/+7
| | | | | | | | | | | | | | | | This patch caps to 4GB the limit of GPU memory accessible only for 32bits build. This would deserve some tests on windows, so we might change that behaviour in the future. For example, it's possible that GetAvailableTextureMem is capped to 4GB on 64bits build. We cap to a bit less than 4GB, which might help https://github.com/iXit/Mesa-3D/issues/323 In addition, increase from 80% to 95% the allocation limit above which we fail allocating. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Add missing NULL checksAxel Davy2020-05-151-3/+48
| | | | | | | | | | | | | Ideally apps shouldn't make buggy calls. Still if some do, let's avoid crashing. Without this patch, if some calls are invalid, for example if replaying a trace of a game needing a lot of VRAM on a card with not much VRAM, it can crash. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Fix a crash if the state is not initializedAxel Davy2020-05-153-0/+8
| | | | | | | | | | | | I don't remember exactly the conditions of the crash, but I had a trace which was crashing in the gallium driver before doing any rendering (something about viewports being not initialized). It's not the first time we hit such a problem, so rather than investigating that crash, I chose to just initialize every states at device creation. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Fix uninitialized variable in BEM()Axel Davy2020-05-151-1/+1
| | | | | | | tmp was not initialized. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Improve return error code in CheckDeviceFormatAxel Davy2020-05-151-1/+3
| | | | | | | This seems suspicious, but is better than what we currently do. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Pass more adapter formats for CheckDepthStencilMatchAxel Davy2020-05-151-1/+24
| | | | | | | | | | | | | It seems CheckDepthStencilMatch should accept A8R8G8B8 as adapter format. Given the lack of clarity of the doc relative to the difference between display format and adapter format (== display format modulo alpha bits), for now just accept display formats with and without alpha bits. Fixes: https://github.com/iXit/Mesa-3D/issues/317 Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Do not return invalidcall on getrenderstateAxel Davy2020-05-151-2/+6
| | | | | | | | To be fair I don't remember why I wrote this patch, but it seems reasonable. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Return error when setting invalid depth bufferAxel Davy2020-05-151-0/+3
| | | | | | | | Prevents a crash with the trace of https://github.com/iXit/wine-nine-standalone/issues/40 Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Add checks for pure deviceAxel Davy2020-05-152-1/+21
| | | | | | | Some Get* functions are forbidden for pure device. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Enable ttn cacheAxel Davy2020-05-131-1/+1
| | | | | | | | | | A trace of a Hat in Time, which builds thousands of shaders takes 339 seconds to run the second time without this patch, and 41 seconds with it (basically there is no more loading times). Signed-off-by: Axel Davy <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4993>
* ttn: Add new allow_disk_cache parameterAxel Davy2020-05-131-1/+1
| | | | | | | | | | For now this parameter doesn't do anything. It means the implementation is allowed to use a cache on disk. Signed-off-by: Axel Davy <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4993>
* gallium: remove more "state tracker" occurencesMarek Olšák2020-05-131-2/+2
| | | | | | Trivial. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4902>
* gallium: rename PIPE_RESOURCE_FLAG_ST_PRIV to FRONTEND_PRIVMarek Olšák2020-05-131-2/+2
| | | | | | | Acked-by: Eric Anholt <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4902>
* gallium: change comments to remove 'state tracker'Marek Olšák2020-05-131-1/+1
| | | | | | | Acked-by: Eric Anholt <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4902>
* gallium: rename 'state tracker' to 'frontend'Marek Olšák2020-05-1385-0/+36746
Acked-by: Eric Anholt <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4902>