summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix missing dri2_load_driver on platform_drmJean Hertel2019-09-111-0/+15
| | | | | | Signed-off-by: Jean Hertel <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Adam Jackson <[email protected]>
* intel/gen11+: Enable Hardware filtering of Semi-Pipelined State in WMAnuj Phogat2019-09-114-0/+29
| | | | | | | Initial benchmarking didn't show any performance benefits. But it might eventually. Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* genxml/gen11+: Add COMMON_SLICE_CHICKEN4 registerAnuj Phogat2019-09-112-0/+10
| | | | | Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* egl/dri2: Refuse to add EGLConfigs with no supported surface typesAdam Jackson2019-09-111-13/+16
| | | | | | | | For example, the surfaceless platform only supports pbuffers. If the driver supports MSAA, we would still create a config, but it would have no supported surface types. That's meaningless, so don't do it. Reviewed-by: Eric Engestrom <[email protected]>
* gallium: Require LLVM >= 3.9Adam Jackson2019-09-118-207/+8
| | | | | | | | To go any further than this would be to break the current version of Android. Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* gallium: Require LLVM >= 3.8Adam Jackson2019-09-114-9/+5
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* gallium: Require LLVM >= 3.7Adam Jackson2019-09-114-48/+7
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* gallium: Require LLVM >= 3.6Adam Jackson2019-09-116-266/+85
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* gallium: Require LLVM >= 3.5Adam Jackson2019-09-117-52/+9
| | | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> [ Michel Dänzer: Dropped jessie line from debian-install.sh again ]
* gitlab-ci: Keep g++ from stretch when installing foreign toolchainsMichel Dänzer2019-09-111-0/+1
| | | | | | | | Upgrading to a newer g++ causes older LLVM/clang packages to be removed. Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Adam Jackson <[email protected]>
* gitlab-ci: Explicitly install linux-libc-dev for foreign architecturesMichel Dänzer2019-09-111-0/+1
| | | | | | | | Something seems to have changed in Debian buster causing installation of the other foreign packages to fail without this. Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Adam Jackson <[email protected]>
* gallium: Require LLVM >= 3.4Adam Jackson2019-09-118-170/+8
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* Docs: mark that 19.2.0-rc3 has been releasedDylan Baker2019-09-111-8/+2
| | | | Also update -rc4 to me.
* st/nir: fix illegal designated initializer in st_glsl_to_nir.cppBrian Paul2019-09-111-1/+1
| | | | | | | | | IIRC, designated initializers are not legal C++. Fixes the MSVC build. Fixes: 83fd1e58 ("glsl/nir: Add and use a gl_nir_link() function") Reviewed-by: Neha Bhende <[email protected]>
* meson: don't generate file into subdirsDylan Baker2019-09-111-1/+1
| | | | | | | | This is unsupported by meson and may become a hard error in the future. Fixes: 5adfc8602c639827af0ba9a1059bd165a3ae49e7 ("lima/ppir: move sin/cos input scaling into NIR") Reviewed-by: Vasily Khoruzhick <[email protected]>
* iris: Set bo->reusable = false in iris_bo_make_external_lockedKenneth Graunke2019-09-111-5/+4
| | | | | | This fixes a missing bo->reusable = false in iris_bo_export_gem_handle. Reviewed-by: Chris Wilson <[email protected]>
* iris: Finish initializing the BO before stuffing it in the hash tableKenneth Graunke2019-09-111-4/+2
| | | | | | | Other threads may pick it up once it's in the hash table. Not known to fix anything currently. Reviewed-by: Chris Wilson <[email protected]>
* radeonsi/gfx9: honor user stride for imported buffersMarek Olšák2019-09-111-0/+2
| | | | Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* prog_to_nir, tgsi_to_nir: make sure kill doesn't discard NaNsMarek Olšák2019-09-112-0/+7
| | | | Reviewed-by: Connor Abbott <[email protected]>
* ac: replace HAVE_LLVM with LLVM_VERSION_MAJOR for atomic-optimizationsMarek Olšák2019-09-111-1/+1
| | | | trivial
* lima: set .out_sync field of req in lima_submit_start()Vasily Khoruzhick2019-09-101-0/+1
| | | | | | | | Looks like .out_sync wasn't set in lima_submit_start(), as result submit completion fence was never signalled. Reviewed-by: Qiang Yu <[email protected]> Signed-off-by: Vasily Khoruzhick <[email protected]>
* intel: Add few Ice Lake brand stringsAnuj Phogat2019-09-101-8/+8
| | | | | Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* gallium: Fix util_format_get_depth_onlyKenneth Graunke2019-09-101-1/+1
| | | | | | | This is a pipe format, not a boolean. Fixes: 5849e0612cc ("gallium/auxiliary: Add util_format_get_depth_only() helper.") Reviewed-by: Tapani Pälli <[email protected]>
* freedreno/a6xx: fix 3d tex layoutRob Clark2019-09-101-3/+4
| | | | | | | Fixes dEQP-GLES3.functional.texture.specification.texstorage3d.size.3d_2x2x2_2_levels Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* freedreno/a6xx: don't tile things that are too smallRob Clark2019-09-102-5/+11
| | | | | | | | | | | If the lowest (largest) mipmap level is too small to tile, then don't bother pretending. Note that this requires initializing pipe->screen before fd_resource_level_linear() is called. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* iris: Enable ARB_gl_spirv and ARB_spirv_extensionsCaio Marcelo de Oliveira Filho2019-09-101-0/+2
| | | | | | | | This will also "unlock" OpenGL 4.6 for Iris! v2: Also enable PIPE_CAP_GL_SPIRV_VARIABLE_POINTERS. Reviewed-by: Alejandro Piñeiro <[email protected]> [v1]
* glsl/nir: Add and use a gl_nir_link() functionCaio Marcelo de Oliveira Filho2019-09-104-15/+32
| | | | | | | | | Perform all the NIR linking steps in order. Change iris and i965 to use it. Suggested by Alejandro. v2: Add gl_nir_linker_options struct. Reviewed-by: Alejandro Piñeiro <[email protected]> [v1]
* gallium: Add ARB_gl_spirv supportCaio Marcelo de Oliveira Filho2019-09-104-0/+29
| | | | | | | | | | | | | | The PIPE_CAP_GL_SPIRV capability enables ARB_gl_spirv and ARB_spirv_extensions, and will make sure the corresponding SPIR-V capabilities and extensions lists are initialized. The additional PIPE_CAP_GL_SPIRV_VARIABLE_POINTERS capability enables the support for Variable Pointers in SPIR-V shaders. This depends on the driver and is not mandatory for ARB_gl_spirv support. v2: Add a PIPE_CAP for Variable Pointers. (Marek) Reviewed-by: Alejandro Piñeiro <[email protected]> [v1]
* mesa/spirv: Set a few more extensionsCaio Marcelo de Oliveira Filho2019-09-101-0/+3
| | | | Reviewed-by: Timothy Arceri <[email protected]>
* mesa/st: Don't expect prog->nir to already existCaio Marcelo de Oliveira Filho2019-09-101-6/+5
| | | | | | | | There's no such case, if we load prog->nir from the shader cache, we shouldn't hit this path. Suggested-by: Kenneth Graunke <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* mesa/st: Add support for SPIR-V shadersCaio Marcelo de Oliveira Filho2019-09-102-50/+110
| | | | | | | | | | | | | | | | | | | | The SPIR-V codepath uses NIR linking, so we have to preprocess after the linking steps, which makes things slightly different than GLSL. To make more clear when the preprocess is happening, I've ended up inlining st_nir_get_mesa_program() into its caller. The goal was to make both GLSL and SPIR-V to use the same preprocess function, the exceptions are: - SPIR-V codepath don't support NIR state slots yet; - GLSL lowers shared memory early, so we don't do the deref lowering for those. For now I didn't bother to rename other functions and files (now that many of them apply to both GLSL and SPIR-V), but we should do this in further patches. Reviewed-by: Timothy Arceri <[email protected]>
* mesa/st: Extract preprocessing NIR stepsCaio Marcelo de Oliveira Filho2019-09-101-14/+15
| | | | | | | | | | | Refactor to split the glsl_to_nir conversion from the preprocessing NIR passes into separate functions, so we can use them in SPIR-V. Unlike in GLSL, there we'll need to perform a few passes with the NIR linker before doing the individual preprocess calls. No behavior should change with this patch. Reviewed-by: Timothy Arceri <[email protected]>
* mesa/st: Lookup parameters without using namesCaio Marcelo de Oliveira Filho2019-09-101-42/+9
| | | | | | | | | | | Use the new MainUniformStorageIndex field in Parameter instead. It was added so we could match those in the SPIR-V case, where names are optional. v2: Use MainUniformStorageIndex for all cases. Reviewed-by: Alejandro Piñeiro <[email protected]> [v1] Reviewed-by: Timothy Arceri <[email protected]>
* mesa/program: Associate uniform storage without using namesCaio Marcelo de Oliveira Filho2019-09-101-7/+1
| | | | | | | | | | Use the new UniformStorageIndex field in Parameter instead. This mechanism was added so we could match those in the SPIR-V case, where names are optional. v2: Use UniformStorageIndex for all cases. (Timothy) Reviewed-by: Timothy Arceri <[email protected]>
* mesa: Fill Parameter storage indices even when not using SPIR-VCaio Marcelo de Oliveira Filho2019-09-101-1/+17
| | | | | | | | | When creating Parameters, fill in the associated uniform storage indices, like it is done with the NIR linker used for SPIR-V. This will allow later code to not rely on names (which would never work for SPIR-V where names are optional). Reviewed-by: Timothy Arceri <[email protected]>
* glsl/nir: Fill in the Parameters in NIR linkerCaio Marcelo de Oliveira Filho2019-09-105-3/+88
| | | | | | | | | | | | | | | | | | | | | The parameter lists were not being created nor filled since i965 doesn't use them. In Gallium they are used for uniform handling, so add a way to fill them. The gl_uniform_storage struct got two new fields that let us go - from a Parameter to the matching UniformStorage and, - from the variable to the *first* UniformStorage without relying on names -- since they are optional for ARB_gl_spirv. Later patches will make use of them. v2: Do not fill parameters for i965. (Timothy) Use uint32_t for the new attributes. (Marek) v3: Serialize the new fields. (Timothy) Reviewed-by: Timothy Arceri <[email protected]>
* mesa: Pack gl_program_parameter structCaio Marcelo de Oliveira Filho2019-09-101-7/+9
| | | | | | | | | | | | | | The gl_register_file doesn't need 16 bits, so shorten it and use the extra room for 'Padded' (also mark it as a single bit). This shrinks the struct size from 32 bytes to 24 bytes. See also 4794fbc86e3 ("mesa: reduce the size of gl_program_parameter") that shrinked from 40 to 24 and later 7536af670b7 ("glsl: fix shader cache for packed param list") that added `Padded`. v2: Use just 5 bits for gl_register_file. (Timothy) Reviewed-by: Timothy Arceri <[email protected]>
* compiler: Add glsl_contains_opaque() helperCaio Marcelo de Oliveira Filho2019-09-102-0/+7
| | | | Reviewed-by: Alejandro Piñeiro <[email protected]>
* mesa/st: Do not rely on name to identify special uniformsCaio Marcelo de Oliveira Filho2019-09-101-5/+3
| | | | | | | | | | | Every uniform that have the "gl_" name also have some state slots. So use the state_slots like we did in 57b61849310 ("i965: account for NIR uniforms without name"). This removes the dependency on names, which are optional when using ARB_gl_spirv. Reviewed-by: Alejandro Piñeiro <[email protected]>
* glsl/nir: Avoid overflow when setting max_uniform_locationCaio Marcelo de Oliveira Filho2019-09-101-1/+2
| | | | | | | | | Don't use the UNMAPPED_UNIFORM_LOC (-1) to set the unsigned max_uniform_location. Those unmapped uniforms don't have to be accounted at this point. Fixes: 7a9e5cdfbb9 ("nir/linker: Add gl_nir_link_uniforms()") Reviewed-by: Alejandro Piñeiro <[email protected]>
* meson: don't allow glvnd on windowsDylan Baker2019-09-101-1/+3
| | | | | Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: don't build glx or dri by default on windowsDylan Baker2019-09-101-0/+2
| | | | | | | v5: - Move is windows check down to make code more robust Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: Add a platform for windowsDylan Baker2019-09-102-1/+5
| | | | | | | | | This mirrors the haiku build which uses a platform. v2: - Fix some rebase problems Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: build getopt when using msvcDylan Baker2019-09-102-0/+34
| | | | | | | | v4: - Don't wrap a single file in a list to match mesa style - Use null_dep instead of empty list Reviewed-by: Eric Anholt <[email protected]> (v3) Reviewed-by: Eric Engestrom <[email protected]>
* meson: fix dl detection on non cygwin windowsDylan Baker2019-09-101-8/+9
| | | | | | | v4: - Don't run checks on Windows that will always fail Reviewed-by: Eric Anholt <[email protected]> (v3) Reviewed-by: Eric Engestrom <[email protected]>
* glapi: export glapi_destroy_multithread when building shared-glapi on windowsDylan Baker2019-09-102-1/+2
| | | | | | | | | Which will allow meson to build a shared glapi build with mingw. v2: - Add symbol to symbol check test Reviewed-by: Eric Anholt <[email protected]> (v1) Reviewed-by: Eric Engestrom <[email protected]>
* meson: add a expat subprojectDylan Baker2019-09-102-1/+11
| | | | | | | For Windows Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: add a zlib subprojectDylan Baker2019-09-102-1/+11
| | | | | | | To help windows build Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* add a git ignore for subprojectsDylan Baker2019-09-101-0/+3
| | | | | Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson: don't build glapi_static_check_table on windowsDylan Baker2019-09-101-1/+3
| | | | | | | It doesn't compile due to undefined symbols, which are in libglapi_static, so I don't understand the problem. Reviewed-by: Eric Engestrom <[email protected]>