- 25 Apr, 2019 3 commits
-
-
Ben Clayton authored
We were building both and only using one. Speeds up builds. Change-Id: I37af0973c50c38610e1d7322e29966cf36ae0e23 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29056Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Apparently there's "Clang" and "AppleClang". CMAKE_CXX_COMPILER_ID MATCHES "Clang" matches against both, where as STREQUAL will not consider "AppleClang" as a match. Bug: b/130343040 Bug: b/130335507 Change-Id: I3d09a726924a7bbf8dc061349fc9fa504f7d08e2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29868Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I1c858cf3f3d3733453d8aec19730581c7235e42d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29871Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
- 24 Apr, 2019 20 commits
-
-
Nicolas Capens authored
1D images are currently sampled as if they're 2D images, by setting the second coordinate to 0. Bug: b/129523279 Test: dEQP-VK.binding_model.shader_access.primary_cmd_buf.combined_image_sampler_mutable.fragment.single_descriptor.1d Change-Id: I9aa20cb8b4d43cfdce28c1ec697a72fb6c49c6b5 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29775Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
Emit a call to a different trampoline function for generating the sampler code, which unifies the implementation with OpImageSampleExplicitLod's by using a common EmitImageSample which takes a sampler 'method' enum. This is then passed at shader execution time to emitSamplerFunction. The lod parameter is parsed from the instruction stream in EmitImageSample. Other (optional) image operands are left unimplemented for now. Bug: b/129523279 Test: dEQP-VK.binding_model.shader_access.primary_cmd_buf.combined_image_sampler_mutable.fragment.single_descriptor.2d Change-Id: I265b81d953fe5a0496d029704a0f5eeff4229823 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29774Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Nicolas Capens authored
Use a common method for updating mutable and immutable sampler descriptors. Bug: b/129523279 Test: dEQP-VK.texture.filtering.2d.formats.r8g8b8a8_unorm.* Change-Id: I1ef82c8fe2cbb2e92f3dadce794346be525648b8 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29848 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
This does nothing, and breaks the Android build since the toolchain there uses -Wignored-qualifiers. This is the only case of it in SwiftShader. Change-Id: Ida06e695bd3f303200864a4fd2a797cb4c78dc15 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29888Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
Android recently split vulkan_headers (vulkan.h etc) from hwvulkan_headers (HAL module plumbing, etc). Adjust to match. Change-Id: I912cfa900363307abb271f74d9c8ebc683cada42 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29772 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Ben Clayton authored
Fix all code that had trailing semicolons. Some downstream projects also consider these as errors, so this change catches the breakages at the source. Bug: b/130343040 Bug: b/130335507 Change-Id: I19ef3b5c682524542cde68f917ca9310a19da286 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29810Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
set_cpp_flag affects everything, including 3rd party code. We need to perform this separation as 3rd party code has unfixed warnings that we want to check for in our code. This also has the added benefit that we can use build switches (DCHECK_ALWAYS_ON, REACTOR_EMIT_DEBUG_INFO) without requring a full rebuild of LLVM. Bug: b/130343040 Bug: b/130335507 Change-Id: I577653e8eb3c4e588fc582f324b5ab6095662e54 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29809Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Change-Id: Id110c8775a1ea905e4025225c3a72a5a4364de11 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29771 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Ben Clayton authored
It appears to be undefined for me. Let Kokoro decide if it is required. Change-Id: I0052703552dd0727e6d3dc12f7947ce06faee5f6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29054Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Bug: b/129523279 Change-Id: Id77a2168c11a66dddebf893d1527647b30584832 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29773Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
- Implement support for mipmapping: Involved fixing retrieving correct texel pointers for each mip level. - Implement addressing mode. - Implement filter mode. - Removed textureSize(). We already have an implementation of OpImageQuerySize which doesn't require the sampling code. For now, these parameters are converted to the legacy sampler enum values to avoid a big refactoring which may break functionality before we pass the tests. Future changes will eliminate them in favor of using the Vulkan sampler parameters directly. Bug: b/129523279 Test: dEQP-VK.texture.filtering.2d.formats.r8g8b8a8_unorm.* Test: dEQP-VK.pipeline.sampler.view_type.2d.format.r8g8b8a8_unorm.* Change-Id: I313e598ae61c0016a5a929bf5c1a53b66b3ff0d1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29770Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Vulkan 1.1 section 15.3.5 table 24 specifies "Conversion to RGBA" to use 'one' as the last component when it's not present in the format, where "one = 1.0f for floating-point formats and depth aspects, and one = 1 for integer formats and stencil aspects", and 0 for the other missing components. Bug b/129523279 Change-Id: I9e4b0b9a8d1d696e51fc76b6554045835966c4b0 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29274 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
The fixed-function OpenGL ES 1.1 and Direct3D 8 texture sampling operations used 4.12 fixed-point values. SPIR-V only returns float4 or int4 results. Also eliminate handling of 'null' textures. Vulkan 1.1 demands valid descriptors Bug b/129523279 Change-Id: I692bcaced55082b41a9c8a18551c23b03cb18430 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29272 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
There's only one type of pointer now. Bug: b/131224163 Change-Id: Ie285affbdd05fdfc878f8144b3c6569547634f6d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29570Tested-by:
Ben Clayton <bclayton@google.com> Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Use these for a fast-path for Load() and Store(). This is an attempt to fix the severe performance hit we incurred with robustness. Bug: b/131224163 Change-Id: I3e244bed5ed723cf29538ff022781c813caaa5eb Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29454Tested-by:
Ben Clayton <bclayton@google.com> Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
This change moves all calls to rr::Load() and rr::Store() to two new functions: SIMD::Load() and SIMD::Store(). This attempts to consolodate the SIMD memory ops into reusable functions, while also adding bounds checking on the accesses. The additional branches hurts the JIT codegen performance. This will be resolved with a future change. Tests: dEQP-VK.robustness.* Bug: b/131224163 Change-Id: I3a392a1f4f5366fa5134c081e0a2479575f92d80 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29334Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
These may be required with the new SIMD::Load and SIMD::Store implementations. Bug b/127472316 Test: dEQP-VK.spirv_assembly.instruction.compute.opatomic.load Test: dEQP-VK.spirv_assembly.instruction.compute.opatomic.store Change-Id: I89db49d7c27c268d37d1bb768adfefd99c11c7c0 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29449 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
This code was added just before LLVM 3 was removed, and can be considered a merge conflict. Bug: b/130460252 Change-Id: If7d6f46c78a94cb8f3cc07ec4ba7c91a58e5926d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29813 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
SwiftShader Regression Bot authored
Change-Id: Ic67efe0d3977417dcc941e103cd37d4ac09998cb Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29788Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
These work the same way; differences are in coordinate handling and where we find the image format. Bug: b/131171141 Change-Id: I9dccfd88e686102d6200bdba8a8ad64b7debeca3 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29688Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
- 23 Apr, 2019 10 commits
-
-
Chris Forbes authored
Bug: b/119620767 Test: dEQP-VK.renderpass* Change-Id: I749c26e9924d69735f45ca981957016718fe5b0a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29708Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Previously if sample count were 1, we would skip the setup for the centroid 1/w, and then blindly use it, leading to NaN in all interpolants marked `centroid`. Bug: b/118386749 Test: dEQP-VK.glsl.linkage.varying.* Change-Id: I4f5d0b052f2defaad86706b85790ef14cd42f53f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29650Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
alphaReference is not used. It previously provided a configurable threshold for alphaToCoverage, before that was explicitly managed by pipeline state. The sample mask is not dynamic state, so it can never change between draws without a complete context change. sRGB write control is not context state, it is determined by the image view format. Bug: b/118386749 Change-Id: Id631732fad52cf6b75c1635bcd7ef464dda10e54 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29649Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
All the real work was already done; this just needed connecting. Bug: b/118386749 Test: dEQP-VK.pipeline.multisample.alpha_to_coverage.* Change-Id: Ib1e2b7a64a76d8d7df9ed5c93e4cc738efdd83b3 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29648Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
The template-based descriptor write mechanism had got left behind as more descriptor types were added. Reimplement the classic mechanism in terms of a template entry, and implement all the current logic there. Bug: b/123244275 Test: dEQP-VK.binding_model.* Test: dEQP-VK.spirv_assembly.* Test: dEQP-VK.glsl.* Change-Id: Ide5a6bf70978774170f79d42652c746c2b5b8abd Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29608Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
- OpLoad of pointer to descriptor is passthrough; reflect that in Kind. - Actually pass through all the descriptor types in EmitLoad - Fix Walk*AccessChain to not create useless divergence; constant offset was added in the wrong place. - Adjust WalkAccessChain to adjust pointers into descriptor arrays using the descriptor stride - Adjust storage image descriptor content to not assume layerPitch == slicePitch, since that isn't true. Bug: b/131082089 Test: dEQP-VK.binding_model.* Test: dEQP-VK.spirv_assembly.* Test: dEQP-VK.glsl.* Change-Id: I6cc4ae7b0fdeb54ede111f532c7e3fd1f108803c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29549Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
We already have the pointer available; no need to recompute it from the decorations. This is groundwork for being able to index into arrays of storage image descriptors correctly. Bug: b/131082089 Change-Id: I574968b6ab8d205d5e4e3fcb4df5d08d2b88dcfa Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29568Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I36296a8948651faeaeeea8ae4f46237701a64137 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29748 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
These are the remaining operations which were not tested through the dEQP-VK.image.* path. Test: dEQP-VK.spirv_assembly.* Bug: b/127472316 Change-Id: Icedc2fc7b972714bc67705e2458e1207972b95cc Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29457Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
Accept SPV_KHR_storage_buffer_storage_class, which is part of SPIRV 1.3. Bug: b/130937460 Test: dEQP-VK.spirv_assembly.* Change-Id: Ifbef9f3093ce7cca90edd75ebd86831f16b630cf Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29508Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 22 Apr, 2019 1 commit
-
-
SwiftShader Regression Bot authored
Change-Id: I40b6d61fd0de9d9e5d2b63974459c9199ea71b48 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29668 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
- 21 Apr, 2019 2 commits
-
-
Ben Clayton authored
Produce warnings for Chrome, resulting in errors. Change-Id: Icda954e1d6c8da79ecf5eddbd542a38a8d97847a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29670 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
There's LLVM code that can now be cleaned up, but that'll come as another pass. Bug: b/130343040 Change-Id: Ie16e296fc1c4d226a81b221d18447cbc09cc2c16 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28909Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 20 Apr, 2019 1 commit
-
-
Ben Clayton authored
An easy to revert step towards https://swiftshader-review.googlesource.com/c/SwiftShader/+/28909. Bug: b/130343040 Change-Id: I0180e9698bedd2f11749faca1deef141e7000dc4 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29669 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 19 Apr, 2019 3 commits
-
-
Chris Forbes authored
Change-Id: Iacc8bd65e9f8ba268dbe7dae6aa244a25c6f770a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29548Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
While having the base units as sizeof(float) is handy (as that's the smallest unit we currently support), it makes limit checking tricky as we're continually converting units of byte <-> float. This sets us up nicely for when we want to support smaller types. Change-Id: I3e334b6df4899f433b281118be23fdf8df6d9829 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29328 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
The split of intermediate + base pointer in two maps was ugly. This is also required for tracking bounds on pointers, required for robustness tests. Change-Id: I782aeee8caab43ce58ba948dcca97afa2e07482c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29273 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-