summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* i965: Fix indentationMatt Turner2017-08-022-8/+8
|
* radv: Add suballocation for shaders.Bas Nieuwenhuizen2017-08-035-21/+93
| | | | | | | | | | | | | This reduces the number of BOs that we need for the BO lists during a submission. Currently uses a fairly simple linear search for finding free space, that could eventually be improved to a binary tree, which with some per-node info could make a check for space O(1) and finding it O(log n), in the number of buffers in that slab. Signed-off-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* docs: Add Vulkan to features.txtJordan Justen2017-08-021-0/+41
| | | | | | | | | | | | | | | | | | | | | | To get the extension list: $ git grep -hE "extension name=\"VK_KHR" src/vulkan/registry/vk.xml | \ grep -v disabled | awk '{print $2}' | sed -E 's/(name=)?"//g' | sort To find anv(il) and radv supported extensions: $ git grep -hE "'VK_([A-Z]+)_[a-z]" src/intel/ $ git grep -hE "'VK_([A-Z]+)_[a-z]" src/amd/ v2: * Add radv to Vulkan 1.0 list (Bas) * 'started' => 'in progress' * Drop KHX and EXT extensions (Jason) Signed-off-by: Jordan Justen <[email protected]> Acked-by: Jason Ekstrand <[email protected]> Acked-by: Bas Nieuwenhuizen <[email protected]>
* i965: Set "Subslice Hashing Mode" to 16x16 on Apollolake.Kenneth Graunke2017-08-022-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of 4.11, the kernel isn't bothering to set the subslice hashing mode on Apollolake, leaving it at the default of 8x8. (It initializes it to 16x4 on most platforms.) Performance data for GPUTest Triangle on Apollolake at 1024x640: X-tiled RT: ----------- 8x8 -> 16x4: 2.4325% +/- 0.383683% (n=107) 8x8 -> 8x4: -3.75105% +/- 0.592491% (n=40) 8x8 -> 16x16: 6.17238% +/- 0.67157% (n=30) Y-tiled RT: ----------- 8x8 -> 16x4: 1.30307% +/- 0.297292% (n=205) 8x8 -> 8x4: -0.769282% +/- 0.729557% (n=35) 8x8 -> 16x16: 3.00254% +/- 0.715503% (n=40) 8x MSAA RT (INTEL_FORCE_MSAA=8): -------------------------------- 8x8 -> 16x4: 1.38889% +/- 0.93729% (n=7) 8x8 -> 8x4: -2.10643% +/- 1.15153% (n=3) 8x8 -> 16x16: 3.87183% +/- 1.08851% (n=5) Based on this, we choose 16x16 for Apollolake. Skylake GT2 with X-tiled buffers appears to be a toss-up between 16x4 and 16x16, and with Y-tiled buffers it doesn't seem to really matter. So we'll leave Skylake alone for now. The hashing mode doesn't seem to make a measurable impact on more complex benchmarks. Acked-by: Matt Turner <[email protected]>
* mesa/dri: drop unneeded mm.h includeDave Airlie2017-08-034-4/+0
| | | | | | | | This isn't used in any of these drivers. Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r300: drop u_mm.h include.Dave Airlie2017-08-034-4/+0
| | | | | | | This is not used in any of these files. Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* util: use cannonical form of ARRAY_SIZEEmil Velikov2017-08-021-1/+1
| | | | | | | Namely sizeof(foo)/sizeof((foo)[0]) Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* i965: simplify intel_image_format_lookup()Emil Velikov2017-08-021-7/+3
| | | | | | | Drop the local variable and return directly. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* i965: annotate struct intel_image_format as constEmil Velikov2017-08-023-10/+10
| | | | | | | Already used as such througout the code. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* st/dri: NULL check before deref DRI loader .getCapabilityEmil Velikov2017-08-021-2/+4
| | | | | | | | | | | | | One could have vX+1 which introduces another entrypoint without implementing older ones. v2: Rebase, while keeping loaderPrivate Fixes: 1bf703e4ea5 ("dri_interface,egl,gallium: only expose RGBA visuals on Android") Cc: 17.2 <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* egl: check the correct function pointerEric Engestrom2017-08-022-1/+3
| | | | | | | | | | `.swap_interval` != `.SwapInterval`... Fixes: 991ec1b81a76de24fd01 "egl: make platform's SwapInterval() optional" Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102015 Cc: Cedric Sodhi <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Tested-by: Cedric Sodhi <[email protected]>
* i965: Delete pitch alignment assertion in get_blit_intratile_offset_el.Kenneth Graunke2017-08-021-1/+0
| | | | | | | | | | | | | The cacheline alignment restriction is on the base address; the pitch can be anything. Fixes assertion failures when using primus (say, on glxgears, which creates a 300x300 linear BGRX surface with a pitch of 1200): intel_blit.c:190: get_blit_intratile_offset_el: Assertion `mt->surf.row_pitch % 64 == 0' failed. Cc: [email protected] Reviewed-by: Chris Wilson <[email protected]>
* swr/rast: fix core / knights split of AVX512 intrinsicsTim Rowley2017-08-024-55/+69
| | | | | | | | Move AVX512BW specific intrinics to be Core-only. Move some AVX512F intrinsics back to common implementation file. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: simplify knob default value setupTim Rowley2017-08-022-14/+11
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: split gen_knobs templates into .h/.cppTim Rowley2017-08-025-118/+166
| | | | | | | Switch to a 1:1 mapping template:generated for future maintenance. Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: gen_knobs template code styleTim Rowley2017-08-021-2/+2
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: switch gen_knobs.cpp licenseTim Rowley2017-08-021-12/+17
| | | | | | | Unintentionally added with an apache2 license; relicense to match the rest of the tree. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: fix scons gen_knobs.h dependencyTim Rowley2017-08-021-1/+1
| | | | | | | | Copy/paste error was duplicating a gen_knobs.cpp rule. Fixes: 5079c277b57 ("swr: [scons] Fix windows build") Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: constify swr rasterizerTim Rowley2017-08-0218-323/+339
| | | | | | Add "const" as appropriate in method/function signatures. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: SIMD16 shaders - widen fetch and vertex shadersTim Rowley2017-08-026-5/+238
| | | | | | Work in progress, disabled by default. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: vmask() implementations for KNLTim Rowley2017-08-021-0/+14
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: rename frontend pVertexStoreTim Rowley2017-08-021-6/+9
| | | | | | Rename to reflect global nature. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: fix movemask_ps / movemask_pd on AVX512Tim Rowley2017-08-021-2/+7
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: stop using MSFT types in platform independent codeTim Rowley2017-08-0214-31/+35
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: enable USE_SIMD16_FRONTEND by defaultTim Rowley2017-08-021-1/+1
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: disable AVX512 optimization of SSE / AVX codeTim Rowley2017-08-021-0/+4
| | | | | | | | | | Disable an optimization which implemented sse/avx operations on avx512 using avx512 intrinsics (to avoid switching between lane widths). Compile with SIMD_OPT_128_AVX512 / SIMD_OPT_256_AVX512 defined to enable these optimizations. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: fix USE_SIMD16_FRONTEND issuesTim Rowley2017-08-0214-74/+49
| | | | | | | Fix problems found when enabling USE_SIMD16_FRONTEND, mostly related to vMask / movemask_ps(pd). Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: simdlib better separation of core vs knights avx512Tim Rowley2017-08-0215-245/+911
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: threadID via portable std::this_thread::get_id()Tim Rowley2017-08-021-9/+11
| | | | | | | Replace use of Win32 GetCurrentThreadId() with portable std::this_thread::get_id(). Reviewed-by: Bruce Cherniak <[email protected]>
* spirv: Fix SpvImageFormatR16uiJason Ekstrand2017-08-021-1/+1
| | | | | Reviewed-by: Lionel Landwerlin <[email protected]> Cc: "17.1 17.2" <[email protected]>
* anv: Advertise VK_KHR_relaxed_block_layoutJason Ekstrand2017-08-021-0/+1
| | | | | | | There is literally no work for us to do here. It already just works in our driver. Reviewed-by: Lionel Landwerlin <[email protected]>
* anv: Bump the advertised version to 1.0.57Jason Ekstrand2017-08-021-1/+1
| | | | Reviewed-by: Lionel Landwerlin <[email protected]>
* anv: Pull the API version from anv_extensions.pyJason Ekstrand2017-08-023-1/+13
| | | | | | | This way everything stays in sync and we only have the one version number. Reviewed-by: Lionel Landwerlin <[email protected]>
* anv: Use python to generate ICD json filesJason Ekstrand2017-08-024-23/+54
| | | | | | | | This is more lines of code but the python is far easier to read than the sed expressions we were using before. Also, this allows us to pull the API version from anv_entrypoints.py so it never gets out-of-sync. Reviewed-by: Lionel Landwerlin <[email protected]>
* anv: Add MAX_API_VERSION to anv_extensions.pyJason Ekstrand2017-08-022-3/+44
| | | | | | | | The VkVersion class is probably overkill but it makes it really easy to compare versions in a way that's safe without the caller having to think about patch vs. no patch. Reviewed-by: Lionel Landwerlin <[email protected]>
* anv: Make some bits of anv_extensions module-privateJason Ekstrand2017-08-022-6/+6
| | | | | | | This way we can use "from anv_extensions import *" in the entrypoint generator without worrying too much about pollution Reviewed-by: Lionel Landwerlin <[email protected]>
* git_sha1_gen: catch any error the same wayEric Engestrom2017-08-021-5/+2
| | | | | Acked-by: Jose Fonseca <[email protected]> Signed-off-by: Eric Engestrom <[email protected]>
* build: Don't bail on OSError in git_sha1_gen.pyTobias Klausmann2017-08-021-0/+3
| | | | | | | | | | When building sandboxed, we may encounter additional errors. Ignore the errors, as we are in a constrained environment. This can be observed when building latest git with OBS. Signed-off-by: Tobias Klausmann <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* st/mesa: replace st_shader_stage_to_ptargetNicolai Hähnle2017-08-025-31/+8
| | | | | | | Use pipe_shader_type_from_mesa instead. Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* mesa: add GLSL 4.60 to shading_language_version()Samuel Pitoiset2017-08-021-0/+2
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: add always-false enable for GL 4.6Samuel Pitoiset2017-08-021-2/+18
| | | | | | | I believe this should be enough for now. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* glsl: recognize GLSL 4.60Samuel Pitoiset2017-08-023-3/+5
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* dri3: Wait for all pending swapbuffers to be scheduled before touching the frontThomas Hellstrom2017-08-022-0/+21
| | | | | | | | | | | | This implements a wait for glXWaitGL, glXCopySubBuffer, dri flush_front and creation of fake front until all pending SwapBuffers have been committed to hardware. Among other things this fixes piglit glx-copy-sub-buffers on dri3. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Sinclair Yeh <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Cc: <[email protected]>
* mesa: add KHR_no_error support to glPolygonMode()Samuel Pitoiset2017-08-023-1/+12
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add polygon_mode() helperSamuel Pitoiset2017-08-021-19/+28
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support to glClearBufferiv()Samuel Pitoiset2017-08-023-1/+12
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add clear_bufferiv() helperSamuel Pitoiset2017-08-021-14/+23
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support to glClearBufferuiv()Samuel Pitoiset2017-08-023-1/+14
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add clear_bufferuiv() helperSamuel Pitoiset2017-08-021-13/+22
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa: add KHR_no_error support to glClearBufferfi()Samuel Pitoiset2017-08-023-1/+14
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>