summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/svga/svga_shader.c
Commit message (Collapse)AuthorAgeFilesLines
* svga: s/unsigned/enum pipe_shader_type/Brian Paul2016-08-291-1/+2
| | | | Reviewed-by: Charmaine Lee <charmainel@vmware.com>
* svga: add guest statistic gathering interfaceCharmaine Lee2016-08-261-3/+8
| | | | | | | | | | | | 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 <brianp@vmware.com>
* svga: handle mismatched number of samplers, sampler viewsBrian Paul2016-07-151-5/+10
| | | | | | | | | | | | | in svga_init_shader_key_common(). Since the CSO module only tracks sampler views for fragment shaders, the number of samplers and sampler views can be mismatched for other types of shaders. This situation triggered an assertion in Chrome with maps.google.com This patch adds defensive code to handle that situation. Fixes VMware bug 1694027 Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Charmaine Lee <charmainel@vmware.com>
* svga: s/Elements/ARRAY_SIZE/Brian Paul2016-04-251-1/+1
| | | | | | Standardize on the later macro rather than a mix of both. Reviewed-by: Charmaine Lee <charmainel@vmware.com>
* svga: remove unused svga_compile_key::texture_msaa fieldBrian Paul2016-04-021-1/+0
| | | | Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
* svga: use shader sampler view declarationsBrian Paul2016-03-211-9/+7
| | | | | | | | | | | | | | Previously, we looked at the bound textures (via the pipe_sampler_views) to determine texture dimensions (1D/2D/3D/etc) and datatype (float vs. int). But this could fail in out of memory conditions. If we failed to allocate a texture and didn't create a pipe_sampler_view, we'd default to using 0 (PIPE_BUFFER) as the texture type. This led to device errors because of inconsistent shader code. This change relies on all TGSI shaders having an SVIEW declaration for each SAMP declaration. The previous patch series does that. Reviewed-by: Charmaine Lee <charmainel@vmware.com>
* svga: add new GALLIUM_HUD queriesNeha Bhende2015-10-161-0/+3
| | | | | | | | | | | | | | | | | | Add new GALLIUM_HUD queries for: num-shaders num-resources num-state-objects num-validations map-buffer-time num-surface-views num-resources-mapped num-flushes Most of this patch was originally written by Neha. Additional clean-ups and num-flushes counter added by Brian Paul. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Charmaine Lee <charmainel@vmware.com>
* svga: use new svga_new_shader_variant() functionBrian Paul2015-10-161-0/+7
| | | | | | To simplify upcoming new HUD shader count implementation. Reviewed-by: Charmaine Lee <charmainel@vmware.com>
* svga: update driver for version 10 GPU interfaceBrian Paul2015-09-021-39/+424
| | | | | | | | | | | | | | | | | This is a squash commit of roughly two years of development work. Authors include: Brian Paul Charmaine Lee Thomas Hellstrom Jakob Bornecrantz Sinclair Yeh Mingcheng Chen Kai Ninomiya MengLin Wu The driver supports OpenGL 3.3. Signed-off-by: Brian Paul <brianp@vmware.com>
* svga: Don't unnecessarily reemit BindGBShader commands v2Thomas Hellstrom2014-07-031-1/+8
| | | | | | | | | | | | | The Linux winsys can no longer relocate shader code, so avoid reemitting BindGBShader commands. They are costly. v2: Correctly handle errors from SVGA3D_BindGBShader() Reported-by: Michael Banack <banackm@vmware.com> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Tested-by: Brian Paul <brianp@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
* svga: update shader code for GBSBrian Paul2014-02-141-1/+20
| | | | | Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com> Cc: "10.1" <mesa-stable@lists.freedesktop.org>
* svga: refactor some shader codeBrian Paul2014-02-031-0/+101
Put common code in new svga_shader.c file. Considate separate vertex/ fragment shader ID generation. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>