summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* ac: add ac_llvm_context::{i,f}32_{0,1}Nicolai Hähnle2017-06-272-0/+10
| | | | | Reviewed-by: Bas Nieuwenhuizen <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* ac: add ac_llvm_context::{i16, i64, f16, f64}Nicolai Hähnle2017-06-272-0/+8
| | | | | Reviewed-by: Bas Nieuwenhuizen <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* nv50/ir: fix combineLd/St to update existing records as necessaryIlia Mirkin2017-06-261-0/+8
| | | | | | | | | | | | | | | | | | | | | Previously the logic would decide that the record is kept, which translates into keep = false in the caller, which meant that these passes did not run. While it's right that keep = false which means that a new record does not need to be added, we do still have to perform the usual list maintenance. It's easiest to do this pre-merge rather than post. The lowering that clip/cull distance passes produce triggers this bug in TCS (since reading outputs is done differently in other stages), but it should be possible to achieve it with the right sequence of regular reads/writes. Fixes: KHR-GL45.cull_distance.functional Fixes: generated_tests/spec/arb_tessellation_shader/execution/tes-input/tes-input-gl_ClipDistance.shader_test Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Cc: [email protected]
* nv50/ir: adjust overlapping logic to take fileIndex-relative offsetsIlia Mirkin2017-06-261-1/+5
| | | | | | | | | | | | | | | If the fileIndex is different, that means they are in logically different spaces. However if there's also a relative offset, then they could end up pointing at the same spot again. Also add a note about potential for multiple buffers to overlap even if they're at different file indexes. However that's potentially lowered away by the point that this logic hits. Not known to fix any specific application or test. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* nv50/ir: VFETCH is also considered a load for MemoryOptIlia Mirkin2017-06-261-1/+1
| | | | | | | | This has no effect since in practice this will only play for memory-backed files, for which VFETCH will never happen. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* nv50,nvc0: remove IDX from bufctx immediately, to avoid conflicts with clearIlia Mirkin2017-06-262-9/+10
| | | | | | | | | | | | The idxbuf could linger, and when a clear happened, which also uses the 3d bufctx, we could get an error trying to access it. This fixes spurious crashes/errors in CTS tests. Fixes: 61d8f3387d ("nv50,nvc0: clear index buffer bufctx bin unconditionally") Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Cc: [email protected]
* nv50/ir: fetch indirect sources BEFORE the op that uses themIlia Mirkin2017-06-261-19/+32
| | | | | | | | | | All the BuildUtil helpers just insert the operation into the current BB. So we have to take care that any fetchSrc() operations happen before the operation whose setIndirect() it goes into. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Cc: [email protected]
* mesa: skip FLUSH_VERTICES() if no samplers were changedTimothy Arceri2017-06-271-1/+6
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa: don't set _NEW_PROGRAM_CONSTANTS for non-bindless opaque uniformsTimothy Arceri2017-06-271-0/+6
| | | | | | v2: rebase on new _mesa_flush_vertices_for_uniforms() helper Reviewed-by: Marek Olšák <[email protected]>
* Android: add renderonly files to libmesa_galliumRob Herring2017-06-261-0/+1
| | | | | | | | | | | | | | | vc4 now depends on renderonly functions, but these weren't added to the Android build resulting in the following errors: src/gallium/drivers/vc4/vc4_resource.c:380: error: undefined reference to 'renderonly_scanout_destroy' src/gallium/drivers/vc4/vc4_resource.c:681: error: undefined reference to 'renderonly_create_gpu_import_for_resource' src/gallium/drivers/vc4/vc4_screen.c:625: error: undefined reference to 'renderonly_dup' src/gallium/winsys/pl111/drm/pl111_drm_winsys.c:37: error: undefined reference to 'renderonly_create_gpu_import_for_resource' src/gallium/winsys/pl111/drm/pl111_drm_winsys.c:37: error: undefined reference to 'renderonly_create_gpu_import_for_resource' Fixes: 7029ec05e2c7 ("gallium: Add renderonly-based support for pl111+vc4.") Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: add KHR_no_error support for glCopyTexImage*D()Timothy Arceri2017-06-273-2/+33
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: add no error support to copyteximage()Timothy Arceri2017-06-271-13/+30
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: create copyteximage_err() helper and always inline copyteximage()Timothy Arceri2017-06-271-4/+14
| | | | | | | This will be useful in the following patch when we add KHR_no_error support. Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: tidy up copyteximage()Timothy Arceri2017-06-271-5/+5
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* i915: On Gen <= 3 there are no array texturesIan Romanick2017-06-264-17/+0
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]>
* i915: On Gen <= 3 there is no W-tilingIan Romanick2017-06-264-29/+9
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]>
* i915: Remove unused fields intel_mipmap_tree::logical_(width|height|depth)0Ian Romanick2017-06-262-11/+0
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]>
* i915: Remove unused field intel_mipmap_tree::array_spacing_lod0Ian Romanick2017-06-261-9/+0
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]>
* i915: On Gen <= 3 there is no multisamplingIan Romanick2017-06-263-38/+9
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]>
* i915: Trivial code reformattingIan Romanick2017-06-261-56/+54
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]>
* i915,i965: Don't condition use of GLSL clear on the current APIIan Romanick2017-06-262-7/+2
| | | | | | | | | | | | | | Meta always sets the API to API_OPENGL_COMPAT, so the current API setting is irrelevant. text data bss dec hex filename 7154994 256860 37332 7449186 71aa62 32-bit i965_dri.so before 7154978 256860 37332 7449170 71aa52 32-bit i965_dri.so after 6788451 328056 50704 7167211 6d5ceb 64-bit i965_dri.so before 6788419 328056 50704 7167179 6d5ccb 64-bit i965_dri.so after Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]>
* mesa: add KHR_no_error support for glCopyTex{ture}SubImage*D()Timothy Arceri2017-06-274-6/+115
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: add copy_texture_sub_image_no_error() helperTimothy Arceri2017-06-271-0/+17
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: remove redundant NULL checkTimothy Arceri2017-06-271-6/+2
| | | | | | This can never be NULL in any of the entry paths. Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: create copy_texture_sub_image_err() helperTimothy Arceri2017-06-271-36/+48
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: make _mesa_copy_texture_sub_image() staticTimothy Arceri2017-06-272-99/+85
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: add KHR_no_error support for gl{Compressed}TexImage*D()Timothy Arceri2017-06-273-6/+124
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: add no error support to teximage()Timothy Arceri2017-06-271-29/+32
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: create wrapper around teximage()Timothy Arceri2017-06-271-14/+26
| | | | | | | | This is used to inline KHR_no_error logic without inlining the function into all its callers. Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* mesa: fix unused variable warning in release buildsTimothy Arceri2017-06-271-1/+2
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* radeonsi: don't flush and wait for CB after depth-only renderingMarek Olšák2017-06-261-1/+4
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* blorp: Use normalized coordinates on Gen6Ian Romanick2017-06-262-5/+8
| | | | | | | | | | | | | | Apparently, the sampler has some sort of precision issues for non-normalized texture coordinates with linear filtering. This caused some small precision issues in scaled blits. Work around this by using normalized coordinates. There is some extra work necessary because Gen6 uses TEX (instead of TXF) for some multisample resolve blits. Fixes piglit.spec.arb_framebuffer_object.fbo-blit-stretch on SNB. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68365 Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eduardo Lima Mitev <[email protected]>
* mesa/glthread: don't include pthread.hMarek Olšák2017-06-261-1/+0
| | | | Not needed. This fixes the Windows build.
* anv/gpu_memcpy: Rename the gpu_memcpy functionNanley Chery2017-06-263-11/+11
| | | | | | | | | | | | | | | | | A GPU memcpy function could alternatively be implemented using MI_* commands. Provide more detail into how this one operates in case another memcpy function is created. v2: - Update the commit message. v3: - Use 'memcpy' instead of 'cpy' (Jason Ekstrand) - Shorten 'streamout' to 'so' Suggested-by: Jason Ekstrand <[email protected]> Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> (v2) Reviewed-by: Jason Ekstrand <[email protected]>
* anv/blorp: Provide surface states for CCS resolvesNanley Chery2017-06-261-19/+10
| | | | | | | | | | | In the future, we plan on using this method to resolve images whose surface state fast-clear value is dynamically updated during command buffer execution. Start using it now for testing and to reduce churn later on. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv/blorp: Add a surface-state-based CCS resolve functionNanley Chery2017-06-262-0/+44
| | | | | | | | | | | | This will be used in the next patch. v2: - Omit BLORP_BATCH_NO_EMIT_DEPTH_STENCIL (Jason Ekstrand) - Update commit message. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* blorp/clear: Add a binding-table-based CCS resolve functionNanley Chery2017-06-262-17/+57
| | | | | | | | | | | | | v2: - Do layered resolves. (Jason Ekstrand): - Replace "bt" suffix with "attachment". - Rename helper function to prepare_ccs_resolve. - Move blorp_params_init() into helper function. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv: Adjust params of color buffer transitioning functionsNanley Chery2017-06-263-36/+39
| | | | | | | | | | | Splitting out these fields will make the color buffer transitioning function simpler when it gains more features. v2: Remove unintended blank line (Iago Toral) Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv/blorp: Remove 3D subresource transition workaroundNanley Chery2017-06-261-4/+4
| | | | | | | | | | | | | | | | | | | For 3D image subresources undergoing a layout transition via PipelineBarrier, we increase the number of fast-cleared layers to match the intended behaviour of KHR_maintenance1. When such subresources undergo layout transitions between subpasses, we don't do this to avoid failing incorrect CTS tests. Instead, unify the behaviour in both scenarios, and wait for the CTS tests to catch up. See CL 1111 for the test fix and Vulkan issue #849 for more information. On SKL+, this causes 3 test failures under: dEQP-VK.pipeline.render_to_image.3d.* v2: Add a reference to the Vulkan issue (Iago Toral). Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> (v1) Reviewed-by: Jason Ekstrand <[email protected]>
* anv/cmd_buffer: Adjust the image view reloc functionNanley Chery2017-06-261-20/+25
| | | | | | | | | | | | | Make the function take in an image instead of an image view. This enables us to record relocations for surfaces states created outside of the anv_CreateImageView path. v2 (Jason Ekstrand): - Use image->offset instead of surf_offset in aux_offset calculation. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv/cmd_buffer: Adjust layout transition aspect checkingNanley Chery2017-06-261-5/+3
| | | | | | | | | Reflect the fact that an image view or subresource range with the color aspect cannot have any other aspect. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv: Add and use color auxiliary buffer helpersNanley Chery2017-06-262-0/+32
| | | | | | | | | | | | | | v2: - Check for aux levels in layer helper (Jason Ekstrand) - Don't assert aux is present, return 0 if it isn't. - Use the helpers. v3: - Make the helpers aspect-agnostic (Jason Ekstrand) - Drop anv_image_has_color_aux() Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> (v2) Reviewed-by: Jason Ekstrand <[email protected]>
* intel/isl: Only create a CCS buffer if the image supports renderingNanley Chery2017-06-261-1/+1
| | | | | | | | v2: Omit the commit message. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* intel/isl: Limit CCS to one level and layer on gen7Nanley Chery2017-06-261-2/+7
| | | | | | | | | | v2 (Jason Ekstrand): - Remove Vulkan-specific terminology from the commit title. - Replace '== 7' with '<= 7' to hint that this is a new feature on BDW+. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> (v1) Reviewed-by: Jason Ekstrand <[email protected]>
* intel/blorp: Check for layer fast-clear restrictionNanley Chery2017-06-261-0/+5
| | | | | | | | v2: Update commit title (Jason Ekstrand) Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> (v1) Reviewed-by: Jason Ekstrand <[email protected]>
* intel/blorp: Assert levels and layers are in rangeNanley Chery2017-06-262-4/+7
| | | | | | | | | | | | v2 (Jason Ekstrand): - Update commit title. - Check aux level and layer as well. v3 (Jason Ekstrand): - Move the non-aux layer check. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> (v1) Reviewed-by: Jason Ekstrand <[email protected]>
* etnaviv: only flush resource to self if no scanout buffer existsLucas Stach2017-06-261-4/+5
| | | | | | | | | | | | Currently a resource flush may trigger a self resolve, even if a scanout buffer exists, but is up to date. If a scanout buffer exists we only ever want to flush the resource to the scanout buffer. This fixes a performance regression. Fixes: dda956340ce9 (etnaviv: resolve tile status when flushing resource) Cc: [email protected] Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Philipp Zabel <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: add support for snorm texturesChristian Gmeiner2017-06-262-3/+7
| | | | | | | | | Based on a patch from Wladimir J. van der Laan and untested due to lack of hardware. Binary blob emits those formats if GPU supports HALTI1 (faked with ibvivhook). Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-by: Wladimir J. van der Laan <[email protected]>
* etnaviv: add R8G8 texture supportChristian Gmeiner2017-06-261-1/+1
| | | | | | | Passes texwrap GL_ARB_texture_rg piglit (with faked full texture rg support). Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-by: Wladimir J. van der Laan <[email protected]>
* etnaviv: add support for swizzled texture formatsChristian Gmeiner2017-06-264-39/+99
| | | | | | | Passes all ext_texture_swizzle piglits. Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-By: Wladimir J. van der Laan <[email protected]>