summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* svga: allow TGSI_TEXTURE_CUBE_ARRAY in emit_tg4()Brian Paul2018-09-101-7/+2
| | | | | | | | | | | Technically, SM4.1 doesn't support cube map arrays, but our backend renderers actually do. This allows the Piglit textureGather cube map array tests to pass. Tested with GLrenderer, DX11renderer and SWrenderer. Reviewed-by: Neha Bhende <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
* svga: no dma on multisample surfaceCharmaine Lee2018-09-101-0/+7
| | | | | | | | | | Force direct map on multisample surface. Fixes SVGA Driver Errors running multisample piglit tests on Linux VM v2: use texture for the check. Reviewed-by: Neha Bhende <[email protected]>
* svga: src surface for IntraSurfaceCopy cannot be multisampleCharmaine Lee2018-09-101-0/+4
| | | | | | | Fixes SVGA Driver Errors with piglit test arb_copy_image-targets Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Neha Bhende <[email protected]>
* svga: fix missing format multisample devcap checkCharmaine Lee2018-09-101-0/+1
| | | | | | | | | | | In commit e4048f6cd1, svga_is_dx_format_supported() is supposed to also check the SVGA3D_DXFMT_MULTISAMPLE bit for multisample support of a format. Somehow that code is not included in that commit. This patch fixes it. Fixes piglit test spec@ext_framebuffer_multisample@formats all_samples. Reviewed-by: Brian Paul <[email protected]>
* svga: fix incorrect multisample support in VGPU9 deviceCharmaine Lee2018-09-101-0/+4
| | | | | | | Commit e4048f6cd1 unintentionally allows multisample support for VGPU9 device. This patch fixes this regression. Reviewed-by: Neha Bhende <[email protected]>
* svga: fix the missing devcap for SVGA3D_BC3_UNORM_SRGBCharmaine Lee2018-09-101-0/+1
| | | | | | | Set the devcap to SVGA3D_DEVCAP_DXFMT_BC3_UNORM_SRGB Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Neha Bhende <[email protected]>
* svga: add a separate function to get dx format capabilities from vgpu10 deviceCharmaine Lee2018-09-101-97/+91
| | | | | | | | | | | | | | | | | | Currently we have one function to get format capabailities and we convert DX10 devcaps back to DX9. This can be confusing. Going forward we will have a separate function for dealing with dx formats. This patch also fixes the depth stencil devcap. Instead of hardcoding the capabilities for the depth stencil formats, we will inquire the device for the capabilities. Note: we will still need to explicity set the SVGA3D_DXFMT_SHADER_SAMPLE bit for SVGA3D_R32_FLOAT_X8X24 and SVGA3D_R24_UNORM_X8 since this bit is not advertised but supported by the device. v2: reapply the patch after svga_is_format_supported is moved to svga_format.c Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Neha Bhende <[email protected]>
* svga: assign a separate function for is_format_supported() for vgpu10 deviceCharmaine Lee2018-09-103-18/+116
| | | | | | | | | | This patch adds a new function svga_is_dx_format_supported() to check for format support in a VGPU10 device. v2: reapply the patch after svga_is_format_supported is moved to svga_format.c Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Neha Bhende <[email protected]>
* svga: add some devcap debugging codeBrian Paul2018-09-101-0/+193
| | | | Reviewed-by: Charmaine Lee <[email protected]>
* svga: fix depth and coverage mask output declarationCharmaine Lee2018-09-101-3/+5
| | | | | | Set the component mask to zero for both registers. Reviewed-by: Brian Paul <[email protected]>
* svga: add sample positions for 2 samplesCharmaine Lee2018-09-101-0/+7
| | | | | | | Fixes piglit tests spec@arb_sample_shading@builtin-gl-sample-position 2 spec@arb_texture_multisample@fb-completeness@2 Reviewed-by: Brian Paul <[email protected]>
* svga: check sample count devcapsCharmaine Lee2018-09-101-0/+8
| | | | | | | Check sample count devcaps from the svga device to determine the supported sample counts. Reviewed-by: Brian Paul <[email protected]>
* svga: fix 1-element cube map array issueBrian Paul2018-09-102-5/+10
| | | | | | | | | As with 1D and 2D array textures, if there's only one array element (one cubemap in this case) we have to issue different shader code. This fixes a number of Piglit cubemap array tests. Reviewed-by: Charmaine Lee <[email protected]>
* svga: simplify array test in svga_init_shader_key_common()Brian Paul2018-09-101-11/+10
| | | | | | | And squash commit a patch to silence a compiler warning (add default case to the switch statement). Reviewed-by: Charmaine Lee <[email protected]>
* winsys/drm: check for CAPS2/SM41 support if VGPU10 is enabledCharmaine Lee2018-09-101-1/+1
| | | | | | | | No need to check for HW_CAPS2 or SM4_1 support if VGPU10 is not enabled or is explicitly disabled via the environment variable SVGA_VGPU10. Reviewed-by: Deepak Rawat <[email protected]>
* winsys/drm: Add support for quality level in surface ioctlDeepak Rawat2018-09-104-8/+16
| | | | | | | | | | | A new argument "quality level" is added in surface define v3 which represets precision settings for surface. This commit add support for quality level in DRM_VMW_GB_SURFACE_CREATE_EXT and DRM_VMW_GB_SURFACE_REF_EXT. Signed-off-by: Deepak Rawat <[email protected]> Reviewed-by: Charmaine Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* svga: sync svga3d_types.h with upstream changesCharmaine Lee2018-09-101-10/+45
| | | | Reviewed-by: Brian Paul <[email protected]>
* winsys/drm: enable intra_surface_copy if HW_CAP2 is supportedCharmaine Lee2018-09-101-6/+9
| | | | | | | | | With drm version 2_15, we can inquire for support of HW_CAP2. If it is supported, we can enable intra_surface_copy support. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Sinclair Yeh <[email protected]> Reviewed-by: Deepak Rawat <[email protected]>
* svga: add git version logging at init timeCharmaine Lee2018-09-101-0/+3
| | | | | | | Before we can log the git version in the host log, we'll add the git version in the init debug message. Reviewed-by: Brian Paul <[email protected]>
* svga: fix a typo in svga_texture_copy_region()Charmaine Lee2018-09-101-1/+1
| | | | Trivial.
* svga: use helper function to do copy regionCharmaine Lee2018-09-101-21/+5
| | | | | | | Use the common helper function svga_texture_copy_region for copy region command. Reviewed-by: Brian Paul <[email protected]>
* svga: fix cubemap array rendering with backed surface viewCharmaine Lee2018-09-102-12/+83
| | | | | | | | | This patch fixes the layer index when rendering to a backed surface view of a cubemap array. Fixes piglit test fbo-generatemipmap-cubemap array. Reviewed-by: Brian Paul <[email protected]>
* svga: add a helper function to send ResolveCopy commandCharmaine Lee2018-09-102-6/+40
| | | | Reviewed-by: Brian Paul <[email protected]>
* svga: sync svga3d header filesCharmaine Lee2018-09-103-16/+98
| | | | | | | | This is a squash of what was orginally three commits. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Neha Bhende <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
* svga: add SM4_1 enable debug printCharmaine Lee2018-09-101-0/+4
| | | | Reviewed-by: Brian Paul <[email protected]>
* svga: fix swizzling for texture gatherCharmaine Lee2018-09-101-20/+33
| | | | | | | | | | | Texture swizzling for texture gather needs to be done to the selected texels rather than to the returned vector. This patch has specical cases for the different swizzles in emit_tg4(). Fixes a lot of piglit texture gather tests. Reviewed-by: Neha Bhende <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* svga: fix starting index for system valuesCharmaine Lee2018-09-103-3/+13
| | | | | | | | | | | | | | Currently, the starting index for system values is assigned to the next index after the highest index of the tgsi declared input registers. But the tgsi index might be different from the actual assigned index, hence this might cause overlap of indices. With this patch, the shader linker keeps track of the highest index of the translated input registers, and the next index will be used for the starting index for system values. Fixes SHIM errors running arb_copy_image-formats on SM4_1 device. Reviewed-by: Brian Paul <[email protected]>
* winsys/svga: Add support for new surface ioctl, multisample patternDeepak Rawat2018-09-107-95/+347
| | | | | | | | | | | | | | | | | | | | | Kernel driver version 2.15 added new surface ioctl named: DRM_VMW_GB_SURFACE_CREATE_EXT DRM_VMW_GB_SURFACE_REF_EXT The new ioctl has support for 64-bit svga3d_flags if DRM_VMW_PARAM_SM4_1 is available. Multisampling surface mob size calculation is added. Also synced the relevant header update. svga device modified the surface define command V3 with new parameter multisampling pattern. Adding support for that in winsys. Signed-off-by: Deepak Rawat <[email protected]> Reviewed-by: Thomas Hellstrom <[email protected]> Reviewed-by: Sinclair Yeh <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
* svga: enable MSAA for SM4_1 deviceBrian Paul2018-09-103-2/+5
| | | | | | | | | The SVGA device is deprecating the DX9 MSAA support. This patch enables MSAA for SM4_1 device by explicitly setting the SVGA3D_SURFACE_MULTISAMPLE bit. For SM4_1 device, only 4 samples is supported. Reviewed-by: Brian Paul <[email protected]>
* svga: add sample count to the surface_can_create interfaceCharmaine Lee2018-09-103-3/+11
| | | | | | | With this patch, sample count is also taken into account when determining if a resource can be created. Reviewed-by: Brian Paul <[email protected]>
* svga: implement support for GL_ARB_texture_query_lodBrian Paul2018-09-102-1/+27
| | | | | | | | Just translate the TGSI LODQ intruction to VGPU10 LOD instruction. All (4) Piglit GL_ARB_texture_query_lod tests pass. Reviewed-by: Charmaine Lee <[email protected]> Reviewed-by: Neha Bhende <[email protected]>
* svga: Add support for arb_texture_gatherNeha Bhende2018-09-102-1/+51
| | | | | | | | | | | | With sm4_1, we can support single channel 2D or CubeMap textures. This patch exercises this feature. Tested with piglit v2: As per Brian's comment Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
* svga: add support for interpolation at sample positionBrian Paul2018-09-101-7/+21
| | | | | | | | | | Vs. sampling at the centroid or the fragment center. Note that this does not fix failures with the Piglit arb_sample_shading-interpolate-at-sample-position or arb_sample_shading-ignore-centroid-qualifier.exe tests at this time. Reviewed-by: Charmaine Lee <[email protected]>
* svga: clarify sys value -> input register mappingBrian Paul2018-09-101-0/+2
| | | | | | | | | | We translate TGSI system value registers to VGPU10 input registers. Add a comment and set file = TGSI_FILE_INPUT. That's not stricly necessary since we map both TGSI_FILE_INPUT and TGSI_FILE_SYSTEM_VALUE to VGPU10_OPERAND_TYPE_INPUT, but this makes the code a bit more understandable. Reviewed-by: Charmaine Lee <[email protected]>
* svga: add support for FS sample mask outputBrian Paul2018-09-102-2/+43
| | | | | | | | | | This, with the previous work for sample position/id query, allows us to enable per-sample shading for VGPU 10.1. Note that quite a few Piglit arb_sample_shading tests still do not pass, but many do. Reviewed-by: Charmaine Lee <[email protected]>
* svga: add support for sample id, sample positionBrian Paul2018-09-101-2/+177
| | | | | | | Sample ID is just a system value. Sample position must be implemented with the VGPU10_OPCODE_SAMPLE_POS instruction. Reviewed-by: Charmaine Lee <[email protected]>
* svga: implement no-op svga_set_min_samples()Brian Paul2018-09-101-0/+12
| | | | | | This is part of the per-sample shading feature (PIPE_CAP_SAMPLE_SHADING). Reviewed-by: Charmaine Lee <[email protected]>
* svga: add support for independent blend function per render targetCharmaine Lee2018-09-102-18/+17
| | | | | | | | | | | | | | This patch adds support for GL_ARB_draw_buffers_blend extension for SM4_1 device. Fixes piglit test fbo-draw-buffers-blend. This patch is squashed with a subsequent patch which fixed a regression. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Neha Bhende <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
* svga: emit shader version as 4.0 or 4.1 depending on device supportBrian Paul2018-09-101-2/+5
| | | | Reviewed-by: Charmaine Lee <[email protected]>
* svga: restructure nested if's in emit_src_register()Brian Paul2018-09-101-20/+22
| | | | | | To make it cleaner for subsequent changes. Reviewed-by: Charmaine Lee <[email protected]>
* svga: sync VGPU10ShaderTokens.h with upstream changesBrian Paul2018-09-101-17/+35
| | | | | | This includes new DX 10.1 opcodes and tokens. Reviewed-by: Charmaine Lee <[email protected]>
* svga: add support for shadow cubemap arrayCharmaine Lee2018-09-101-2/+47
| | | | | Reviewed-by: Neha Bhende <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* svga: add support for rendering to cubemap arrayCharmaine Lee2018-09-101-0/+1
| | | | | | | Fixes piglit test arb_texture_cube_map_array-fbo-cubemap-array Reviewed-by: Neha Bhende <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* svga: add support for TXL2 opcodeCharmaine Lee2018-09-101-0/+46
| | | | | | | | | | This patch adds support for cubemap array texture lookup with explicit LOD. Fixes piglit test arb_texture_cube_map_array-cubemap-lod Reviewed-by: Neha Bhende <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* svga: add support for cubemap arrayCharmaine Lee2018-09-104-13/+38
| | | | | | | | | This patch adds support for cubemap array for SM4_1. Fixes piglit test arb_texture_cube_map_array-cubemap Reviewed-by: Neha Bhende <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* svga: add have_sm4_1 flag, helper functionBrian Paul2018-09-102-0/+9
| | | | Signed-off-by: Brian Paul <[email protected]>
* gallium/u_inlines: remove the destroy variable in pipe_reference_describedMarek Olšák2018-09-101-6/+3
| | | | | Reviewed-by: Michel Dänzer <[email protected]> Tested-by: Dieter Nützel <[email protected]>
* gallium/u_inlines: improve pipe_reference_described perf for debug buildsMarek Olšák2018-09-101-4/+5
| | | | | Tested-by: Dieter Nützel <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gallium/auxiliary: don't dereference counters twice needlesslyMarek Olšák2018-09-101-7/+10
| | | | Tested-by: Dieter Nützel <[email protected]>
* gallium/u_inlines: normalize naming, use dst & src, style fixes (v2)Marek Olšák2018-09-101-47/+47
| | | | | | | v2: update comments Reviewed-by: Michel Dänzer <[email protected]> Tested-by: Dieter Nützel <[email protected]>