aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel
Commit message (Collapse)AuthorAgeFilesLines
* anv/image: Stop using anv_format for image create validationJason Ekstrand2016-05-171-6/+2
|
* anv/image: Make heavier use of aspectsJason Ekstrand2016-05-171-50/+34
|
* anv/copy: Use the color_surf from the image to get the block sizeJason Ekstrand2016-05-171-9/+20
|
* anv: Change render_pass_attachment.format to a VkFormatJason Ekstrand2016-05-173-5/+8
|
* anv: Add helpers to provide simple VkFormat introspectionJason Ekstrand2016-05-172-1/+67
| | | | | | | | As much as I hate adding yet more format introspection, there are times when the VkFormat is sufficient and we don't want to round-trip through isl_format. For these times, the new vk_format_info.c/h files provide some simple driver-agnostic VkFormat introspection. This intended to be specific to Vulkan but not to any driver whatsoever.
* anv/image: Use get_isl_format when creating buffer viewsJason Ekstrand2016-05-171-5/+6
|
* anv/image: Add an aspects fieldJason Ekstrand2016-05-174-8/+10
| | | | | This makes several checks easier and allows us to avoid calling anv_format_for_vk_format in a number of cases.
* anv: Make format_for_descriptor return an isl_formatJason Ekstrand2016-05-173-13/+11
|
* anv/wayland: Don't allow non-renderable formatsJason Ekstrand2016-05-171-4/+7
|
* anv/wsi: Make WSI per-physical-device rather than per-instanceJason Ekstrand2016-05-176-66/+70
| | | | | This better maps to the Vulkan object model and also allows WSI to at least know the hardware generation which is useful for format checks.
* i965/fs: Add an allow_spilling flag to brw_compile_fsJason Ekstrand2016-05-171-1/+2
| | | | | | | | | This allows us to disable spilling for blorp shaders since blorp state setup doesn't handle spilling. Without this, blorp fails hard if you run with INTEL_DEBUG=spill. Reviewed-by: Francisco Jerez <[email protected]> Tested-by: Francisco Jerez <[email protected]>
* genxml: Use llroundf() and store to appropriate type.Matt Turner2016-05-161-2/+2
| | | | | | | Both functions return uint64_t, so I expect the masking/shifting should be done on 64-bit types. Reviewed-by: Kristian Høgsberg <[email protected]>
* nir/builder: Add a helper for grabbing multiple channels from an ssa defJason Ekstrand2016-05-141-3/+1
| | | | | | | This is similar to nir_channel except that it lets you grab more than one channel by providing a mask. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Organize prog_data by ksp number rather than SIMD widthJason Ekstrand2016-05-144-49/+21
| | | | | | | | | | The hardware packets organize kernel pointers and GRF start by slots that don't map directly to dispatch width. This means that all of the state setup code has to re-arrange the data from prog_data into these slots. This logic has been duplicated 4 times in the GL driver and one more time in the Vulkan driver. Let's just put it all in brw_fs.cpp. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Rework the persample shading key/prog_data bitsJason Ekstrand2016-05-141-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit reworks and simplifies the way we handle persample shading in the shader key and prog_data. The previous approach had three different key bits that had slightly different and hard-to-decern meanings while the new bits are far more clear. This commit changes it to two easily understood bits that communicate everything we need: 1) key->persample_interp: means that the user has requested persample interpolation through the API. This is equivalent to having SAMPLE_SHADING enabled and having MIN_SAMPLE_SHADING_VALUE set high enough that you actually get multiple per-sample invocations. 2) key->multisample_fbo: means that the shader will be running on an actual multi-sampled framebuffer. This commit also adds a new "persample_dispatch" bit to prog_data which indicates that the shader should be run in persample mode. This way the state setup code doesn't have to look at the fragment program or GL state and can just pull that data out of the prog_data. In theory, this shuffle could mean more recompiles. However, in practice, we were shoving enough state into the key before that we were probably hitting a recompile on every per-sample shader anyway. Reviewed-by: Kenneth Graunke <[email protected]>
* anv/copy: Fix copying Images from Buffers with larger dimensionsNanley Chery2016-05-131-8/+11
| | | | | | | | | | | | | This function previously assumed that the Buffer and Image had matching dimensions. However, it is possible to copy from a Buffer with larger dimensions than the Image. Modify the copy function to enable this. v2: Use ternary instead of MAX for setting bufferExtent (Jason Ekstrand) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95292 Signed-off-by: Nanley Chery <[email protected]> Tested-by: Matthew Waters <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv: Don't advertise shaderImageGatherExtendedJason Ekstrand2016-05-121-1/+1
| | | | | We don't actually support all of the extended gather functionality so we shouldn't be advertising it.
* anv: fix build breakRob Clark2016-05-111-1/+1
| | | | | | | | | Previous rename of lower-output-to-temps pass predated merging of anv, and apparently vulkan wasn't enabled in my local builds so overlooked this when rebasing. Reported-by: Mark Janes <[email protected]> Signed-off-by: Rob Clark <[email protected]>
* genxml: avoid using a GNU make pattern ruleJonathan Gray2016-05-101-1/+5
| | | | | | | | | | | % pattern rules are a GNU extension. Convert the use of one to a inference rule to allow this to build on OpenBSD. v2: inference rules can't have additional prerequisites so add a target rule to still depend on gen_pack_header.py Signed-off-by: Jonathan Gray <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv: fix hang during generation of dev_icd.json.Knut Andre Tidemann2016-05-031-1/+1
| | | | | Fixes: b370ec7c76d ("anv: tweak the %.json rule") Reviewed-by: Emil Velikov <[email protected]>
* isl: automake: don't explicitly EXTRA_DIST the tests folderEmil Velikov2016-05-011-2/+0
| | | | | | | The file(s) within are already picked thanks to the build rule of the respective test. No need to have the folder in EXTRA_DIST. Signed-off-by: Emil Velikov <[email protected]>
* anv: include the files in the tarballEmil Velikov2016-05-012-2/+10
| | | | | | | | Namely the python script, the ICD header and private headers. We could get the system version of the ICD ones, although there is no .pc file to easily locate and/or manage them. Signed-off-by: Emil Velikov <[email protected]>
* isl: include all the files in the tarballEmil Velikov2016-05-011-0/+6
| | | | | | Add the missing header(s), generation scripts, README ... Signed-off-by: Emil Velikov <[email protected]>
* anv: update .gitignoreEmil Velikov2016-05-011-4/+0
| | | | Signed-off-by: Emil Velikov <[email protected]>
* anv: automake: remove no longer needed includeEmil Velikov2016-05-011-1/+0
| | | | | | Thanks to last commit we can nuke it. Signed-off-by: Emil Velikov <[email protected]>
* anv: automake: tweak anv_entrypoint.[ch] ruleEmil Velikov2016-05-011-2/+4
| | | | | | | Rather than using cat + cpp feed the file(s) directly into the latter. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: tweak libvulkan_intel.so link librariesEmil Velikov2016-05-011-1/+3
| | | | | | i.e do not use -lfoo directly. Signed-off-by: Emil Velikov <[email protected]>
* anv: cosmetic makefile changesEmil Velikov2016-05-011-13/+11
| | | | | Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: place the builddir includes before the srcdir onesEmil Velikov2016-05-011-5/+5
| | | | | | | | Otherwise we risk picking the possibly outdated file in the source dir over the fresh one in the builddir. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* automake: drop "EGL_" from HAVE_EGL_PLATFORM_WAYLANDEmil Velikov2016-05-011-1/+1
| | | | | | Analogous to previous commit. Signed-off-by: Emil Velikov <[email protected]>
* automake: drop "EGL_" from HAVE_EGL_PLATFORM_X11Emil Velikov2016-05-011-1/+1
| | | | | | | The variable covers more than just EGL, let's try to untangle the confusion it brings. Signed-off-by: Emil Velikov <[email protected]>
* anv: get rid of VULKAN_ENTRYPOINT_CPPFLAGS variableEmil Velikov2016-05-011-11/+3
| | | | | | | | Add the missing include to AM_CPPFLAGS and use it throughout the makefile. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: factor out the X11/XCB buildEmil Velikov2016-05-013-6/+23
| | | | | | | | | | | Similar to earlier commit - move all the common bits into a single place, thus improving readability and allowing us to see what's missing. Also don't forget to add the missing bits. This commit should allows us to build wayland only vulkan ;-) Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: kill of custom define HAVE_WAYLAND_PLATFORMEmil Velikov2016-05-013-5/+4
| | | | | | | Vulkan API already has equivalent, so simplify things as just use it. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: refactor wayland build handlingEmil Velikov2016-05-011-15/+12
| | | | | | | | | | | Rather than having things split out in multiple places, consolidate it and add all the missing bits. Also ensure that we use the already built static library libwayland-drm.la. v2 Add missing '\' in the CFLAGS. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]> (v1)
* anv: use a common variable to manage the library dependenciesEmil Velikov2016-05-011-11/+15
| | | | | Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: use the GENERATED_FILES variableEmil Velikov2016-05-012-2/+1
| | | | | | | | | | | ... rather than having duplicates files through the sources lists. Splitting things as is, has the side effect of making things clearer and easing a potential android build. The latter of which automatically adds BUILT_SOURCES to the binary. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: fold the tests' makefileEmil Velikov2016-05-012-49/+15
| | | | | | | | | Recent commit removed the winsys defines from anv_private.h thus breaking the tests. To fix that and avoid it in the future, merge the tests makefile in the libvulkan one. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: build the core vulkan only onceEmil Velikov2016-05-011-8/+6
| | | | | | | | Introduce a static library libvulkan_common.la that is used by libvukan_intel.la and libvulkan_test.la. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: kill off custom CFLAGSEmil Velikov2016-05-011-10/+6
| | | | | | | AM_CFLAGS already does all that we need. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: add missing link against the math libraryEmil Velikov2016-05-011-1/+2
| | | | | Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: split sources lists to Makefile.sourcesEmil Velikov2016-05-012-61/+111
| | | | | | | | Will allow others to reuse the lists (scons/android anyone ?) and makes the file a lot shorter and easier to read. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: remove custom rule to install the intel_icd.jsonEmil Velikov2016-05-011-10/+1
| | | | | | | | Autoconf already does the exact same thing as the manually written rule. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94969 Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: tweak the LDFLAGSEmil Velikov2016-05-011-1/+6
| | | | | | | | | | | | Copy/paste from the rest of mesa, but namely. - The module should be shared only. - We don't need the explicit ".so", as the vulkan loader will retrieve the full filename from the json - No unresolved symbols in the final binary - Use the linker garbage collector to slim down the final binary. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: tweak the %.json ruleEmil Velikov2016-05-011-4/+3
| | | | | | | | | It's used only by dev_icd.json so just call it that way. While we're here, manually expand $< (as it might cause issue on some systems) and drop the unneeded install_libdir substitution. Acked-by: Jason Ekstrand <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* anv: add a comment about dev_icd.jsonEmil Velikov2016-05-011-0/+1
| | | | | Reviewed-by: Jason Ekstrand <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* genxml: ship all the files needed in the tarballEmil Velikov2016-05-011-0/+11
| | | | | | | v2: The xml files are not called "gen*_pack.xml" (Jason) Signed-off-by: Emil Velikov <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* anv: remove description about GENX_FUNC macroEmil Velikov2016-05-011-14/+0
| | | | | | | | | The macro has been gone since commit 1f1cf6fcb0e "anv: Get rid of GENX_FUNC" Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eduardo Lima Mitev <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* nir: Switch the arguments to nir_foreach_functionJason Ekstrand2016-04-283-4/+4
| | | | | | | | | This matches the "foreach x in container" pattern found in many other programming languages. Generated by the following regular expression: s/nir_foreach_function(\([^,]*\),\s*\([^,]*\))/nir_foreach_function(\2, \1)/ Reviewed-by: Ian Romanick <[email protected]>
* nir: Switch the arguments to nir_foreach_instrJason Ekstrand2016-04-283-4/+4
| | | | | | | | | | | This matches the "foreach x in container" pattern found in many other programming languages. Generated by the following regular expression: s/nir_foreach_instr(\([^,]*\),\s*\([^,]*\))/nir_foreach_instr(\2, \1)/ and similar expressions for nir_foreach_instr_safe etc. Reviewed-by: Ian Romanick <[email protected]>