summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* st/nine: Turn on thread_submit by default when on different deviceAxel Davy2016-05-181-10/+12
| | | | | | | | The last remaining issues with thread_submit have been resolved, thus turn it when on a different device (the case where is is beneficial). Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix usage of rasterizer multisample bit.Axel Davy2016-05-184-10/+32
| | | | | | | | | | | pipe_rasterizer multisample bit should be enabled only when really wanting to do multisampling, thus we should disable when not having msaa render target. This fixes some depth calculation precision issues on radeon. Also disable it when depth and stencil tests are disabled, since in that case multisampling is same as not multisampled. Signed-off-by: Axel Davy <[email protected]>
* st/nine: ATOC has effect only with ALPHATESTENABLEAxel Davy2016-05-183-2/+13
| | | | | | | ATOC extension does something only when alpha test is enabled. Use a second bit to encode the difference with ATIATOC. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add debug string for ATOCAxel Davy2016-05-181-0/+1
| | | | | | We were missing a debug string for this format. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add asserts for output/input packingAxel Davy2016-05-181-0/+2
| | | | | | | | | | Nine doesn't support vs output/ps input packing. We haven't found any application requiring that, and implementing it properly is complex. Add asserts for now. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Use correct PIPE_HANDLE_USAGE flag for frontbuffer copyAxel Davy2016-05-181-5/+8
| | | | | | | When taking screenshots we do a copy from the frontbuffer to an allocated buffer (which we then copy to a ram buffer). Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix output shift calculationAxel Davy2016-05-181-2/+2
| | | | | | We were getting it wrong for negative values. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix CheckDeviceFormat advertising for surfacesAxel Davy2016-05-181-0/+12
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: Improve buffer placementAxel Davy2016-05-181-4/+30
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix buffer bind flagsAxel Davy2016-05-181-3/+3
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix buffer locking flags handlingAxel Davy2016-05-182-29/+22
| | | | | | | | | Our behaviour was not entirely similar to what the docs and our tests describe. Drop d3dlock_buffer_to_pipe_transfer_usage. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Improve loggingPatrick Rudolph2016-05-186-0/+12
| | | | | | | Add missing DBG calls in dtors. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Axel Davy <[email protected]>
* st/nine: Use WINE thread for threadpoolPatrick Rudolph2016-05-184-12/+52
| | | | | | | | | Use present interface 1.2 function ID3DPresent_CreateThread to create the thread for threadpool. Creating the thread with WINE prevents some rarely occuring crashes. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Axel Davy <[email protected]>
* st/nine: Don't present if window is occludedPatrick Rudolph2016-05-181-5/+6
| | | | | | | | | | | | | The problem is that if one d3d present call fails, because of our occlusion check in present method, the next presentation call will send the same pixmap to the Xserver again, without waiting it is released, which is wrong. Move the present call after occlusion check to return and prevent Xpixmaps errors. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Axel Davy <[email protected]>
* st/nine: Use new function to query for resolution mismatchPatrick Rudolph2016-05-183-1/+18
| | | | | | | | | Any third party app might change the current screen resolution. Poll for resolution mismatch to force a device reset. Required for non ex devices only. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Axel Davy <[email protected]>
* st/nine: Implement IPresent version 1.2Patrick Rudolph2016-05-181-0/+7
| | | | | | | | | | | | | | | | | | Implement presentation interface version 1.2: * ID3DPresent_ResolutionMismatch Poll for resolution mismatch. A third party app might have changed resolution, which requires a device reset. * ID3DPresent_CreateThread Create a thread in WINE to allow nine to use Windows API functions. Required for multi-threaded presentation. In single-threaded presentation mode the calling thread is already known to WINE. * ID3DPresent_WaitForThread Wait for a wine thread to terminate. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Axel Davy <[email protected]>
* st/nine: Implement BumpEnvMap for ffAxel Davy2016-05-181-24/+54
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: Format conversion for volumes in UpdateTextureAxel Davy2016-05-181-8/+0
| | | | | | | We were doing the conversion for surfaces, but not yet volumes. Now that volumes can do conversion, use it. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Remove one useless function outputAxel Davy2016-05-182-4/+4
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add support for X8L8V8U8Axel Davy2016-05-182-3/+13
| | | | | | | | | | | | | | X8L8V8U8 support should be common. Some more recent cards do support this format, but not L6V5U5. Add fallback for this format to have it alwaus supported. L6V5U5 conversion rule apparently differs a bit from the normal spec, and thus the gallium equivalent format leads to slightly wrong colors. Since some recent cards do not support it, do not support it either. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add format fallback with conversion to volumesAxel Davy2016-05-182-9/+110
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add format fallback with conversion to surfacesAxel Davy2016-05-182-1/+72
| | | | Signed-off-by: Axel Davy <[email protected]>
* gallium/util: Implement util_format_translate_3dAxel Davy2016-05-182-0/+47
| | | | | | This is the equivalent of util_format_translate, but for volumes. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix Pointsize in programmable shaderAxel Davy2016-05-188-68/+48
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix ff pointscale computationAxel Davy2016-05-181-9/+18
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix header of GetIndicesAxel Davy2016-05-182-7/+6
| | | | | | | There is a mistake in the online documentation, the function only has 2 arguments. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Increase minor d3dadapter9drm ABIAxel Davy2016-05-183-2/+9
| | | | | | | | | | | Version 0.1 allows to assume that the second element of the IDirect3D* structures will be a pointer to the internal nine vtable. This is useful if the gallium nine user wants to wrap some interfaces. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix leak after ctor failuresAxel Davy2016-05-181-0/+2
| | | | | | | Previously ctor failures would not unreference the device. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add ColorFill test for compressed texturesAxel Davy2016-05-181-0/+8
| | | | | | | ColorFill should contain alignment checks for compressed textures. Signed-off-by: Axel Davy <[email protected]>
* st/nine: PositionT and Tessfactor are forbidden as PS inputAxel Davy2016-05-181-3/+5
| | | | | | | According to wine tests, they are forbidden as PS input, which makes sense. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix some shader failures not triggering errorAxel Davy2016-05-181-2/+5
| | | | | | | Some failures during shader translation would not raise errors before this patch. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Forbid POSITION0 for PS3.0Axel Davy2016-05-181-0/+5
| | | | | | POSITION0 input is forbidden for PS3.0 apparently. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Rework UpdateTexture ChecksAxel Davy2016-05-182-35/+68
| | | | | | | | | | | Our code did match the user documentation of the function quite well (except for format check). However the DDI documentation and wine tests show that documentation was not correct. Thus adapt our code to fit the best possible to the -real- spec. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Use bufs instead of Flags for ClearAxel Davy2016-05-181-2/+2
| | | | | | | | bufs doesn't contain depthstencil if there is z buffer mismatch. This is the behaviour we want. Signed-off-by: Axel Davy <[email protected]>
* d3dadapter9: Add ddebug, rbug and trace supportAxel Davy2016-05-181-0/+9
| | | | | | Add support for ddebug, rbug and trace Signed-off-by: Axel Davy <[email protected]>
* radeon: Change AA sample locations for EG+Axel Davy2016-05-181-34/+34
| | | | | | | | | | | This sets the AA location to the d3d11 spec. EG/NI 8X MSAA is left as is. Not sure why it was set different to Cayman, so lets it as is. Signed-off-by: Axel Davy <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: Mixed colorbuffer formats are unsupportedAxel Davy2016-05-181-0/+10
| | | | | | | | | | Besides depth/stencil, the hardware doesn't support mixed formats. The GL state tracker doesn't make use of them. Signed-off-by: Axel Davy <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: Change default behaviour for undefined COLOR0Axel Davy2016-05-181-0/+3
| | | | | | | | | d3d 9 needs COLOR0 to be 1.0 on all channels when undefined. 0.0 for the others is fine. GL behaviour is undefined. Signed-off-by: Axel Davy <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* r600g: Change default behaviour for undefined COLOR0Axel Davy2016-05-181-0/+4
| | | | | | | | | d3d 9 needs COLOR0 to be 1.0 on all channels when undefined. 0.0 for the others is fine. GL behaviour is undefined. Signed-off-by: Axel Davy <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* r600: Change default behaviour for undefined COLOR0Axel Davy2016-05-181-0/+4
| | | | | | | | | d3d 9 needs COLOR0 to be 1.0 on all channels when undefined. 0.0 for the others is fine. GL behaviour is undefined. Signed-off-by: Axel Davy <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* st/nine: Clean up WINAPI definitionChristian Schmidbauer2016-05-181-11/+5
| | | | | | | | | | | | | As Emil pointed out, only gcc, clang and MSVC compatibility is required. Hence the check for GNUC can be skipped, as __i386__ and __x86_64__ are only defined for gcc/clang, not for MSVC. Remove the #undef which has been there for historic reasons, when wine dlls for nine have been built inside mesa. Instead use #ifndef in order to avoid redefining WINAPI from MSVC's headers. Reviewed-by: Emil Velikov <[email protected]> Acked-by: Axel Davy <[email protected]>
* svga: add another debug_printf() in svga_screen_create()Brian Paul2016-05-181-0/+1
| | | | Signed-off-by: Brian Paul <[email protected]>
* spirv: add switch case for nir_texop_txf_ms_mcs in vtn_handle_texture()Brian Paul2016-05-181-0/+2
| | | | | | | | | | | Mark it as unreachable. Silences a compiler warning: spirv/spirv_to_nir.c:1397:4: warning: enumeration value 'nir_texop_txf_ms_mcs' not handled in switch [-Wswitch] switch (instr->op) { ^ Reviewed-by: Jason Ekstrand <[email protected]>
* Revert "i965/urb: fixes division by zero"Matt Turner2016-05-181-5/+19
| | | | This reverts commit 2a8aa1e3deb99a1ae16d942318da648c1327ece5.
* i965/urb: fixes division by zeroArdinartsev Nikita2016-05-181-19/+5
| | | | | | | Fixes regression introduced by af5ca43f2676bff7499f93277f908b681cb821d0 Reviewed-by: Matt Turner <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95419
* mesa: fclose() filename on error.Matt Turner2016-05-181-1/+5
| | | | | Pretty useless, as it's in debugging code. Found by Coverity (CID 1257016).
* i965/fs: Assert that nir_op_extract_*'s src1 is a constant.Matt Turner2016-05-181-0/+2
|
* glsl: Check that layout is non-null before dereferencing.Matt Turner2016-05-181-1/+1
| | | | | | | layout should only be null for structs, but it's checked everywhere else and confuses Coverity (CID 1358495). Reviewed-by: Timothy Arceri <[email protected]>
* egl/dri2: Don't check return result of mtx_unlock().Matt Turner2016-05-181-8/+2
| | | | | | | Coverity (CID 1358496) warns that the cleanup code doesn't unlock the mutex (which is arguably kind of stupid, since the only case that can happen is when mtx_unlock() failed!). But, mtx_unlock() isn't going to fail -- the mutex was locked by this thread just a few lines above it.
* spirv: Properly size the src[] array.Matt Turner2016-05-181-1/+1
| | | | | | | Operations like nir_op_bitfield_insert have four arguments, and Coverity isn't privy to the fact that 4-argument operations aren't possible here, so it thinks this can lead to memory corruption. Just increase the size of the array to quell any fears.