- 28 Feb, 2019 2 commits
-
-
Ben Clayton authored
Bug: b/126330097 Change-Id: Id705dc19bb3a114bf703ddc37b529d6ac89b4d52 Reviewed-on: https://swiftshader-review.googlesource.com/c/25549Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
This namespace declares typedefs that represent per-lane-scalars. Once we start mixing per-lane storage with linear external memory, this will help readability. Bug: b/126126820 Change-Id: Ia128c3cc97dd77b3d5c4b7bd9537c19427a9ac3f Reviewed-on: https://swiftshader-review.googlesource.com/c/25548 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 27 Feb, 2019 16 commits
-
-
Chris Forbes authored
Bug: b/126472836 Change-Id: I0e7afc53e863540fb5bd76ec8737f4b2aa3a015b Reviewed-on: https://swiftshader-review.googlesource.com/c/25649Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Bug: b/126475423 Change-Id: Ia74e5c6b253a5d3ac5de51c3667062405989d641 Reviewed-on: https://swiftshader-review.googlesource.com/c/25191Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Most of the subtlety here comes from needing to deal with either the old parts or the new being possibly a constant object. Uses WalkLiteralAccessChain combined with the size of the "new part" to determine the range within the object which should be replaced. Bug: b/126475423 Change-Id: I81f58d0de5dcacc74ffbd155708996c23dbe388e Reviewed-on: https://swiftshader-review.googlesource.com/c/25214Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
This will be used by OpCompositeInsert and OpCompositeExtract. All indices are known at compile time, and are specified as literals rather than ids of constants, (as in Op*AccessChain) Bug: b/126475423 Change-Id: Ic29e2f988fb6b9bdab4b722b368e51db929c8bd3 Reviewed-on: https://swiftshader-review.googlesource.com/c/25213Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Bug: b/126475423 Change-Id: I69d05db8eaf0825893210424496dc6c9ad793d0d Reviewed-on: https://swiftshader-review.googlesource.com/c/25190Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
This does automatic widening to per-lane so callers don't have to scatter "is constant?" checks everywhere. This is mostly the right thing to do -- loads and stores will want to continue specializing on whether values and offsets are uniform across lanes, but most other things don't care. Bug: b/126475489 Change-Id: I1b8693a75e93b00a7972ec06777fbaaa599d2a52 Reviewed-on: https://swiftshader-review.googlesource.com/c/25668Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Stephen White authored
Microsoft's x86-64 calling convention ABI requires registers XMM6-15 to be preserved by the callee: https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2017#calling-convention-defaults Implement a _pop_reg() analog to _push_reg(), so we can specialize the XMM treatment. Pass the RegNum all the way down to the specialized class, because we don't know which registers should be 128-bit at the call site. Bug chromium:931926 Bug swiftshader:22 Change-Id: I57637c852f0f3bb9a374d61a16a7aaa434ac908d Reviewed-on: https://swiftshader-review.googlesource.com/c/25468Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Stephen White <senorblanco@chromium.org>
-
Ben Clayton authored
For debug builds this should be a nop, as the assert should call abort(), however for NDEBUG + DCHECK_ALWAYS_ON builds, assert is a nop and we still want to terminate. Bug: b/126329018 Change-Id: I45291be05dfa2cce8ea5623c8af8900049d5e855 Reviewed-on: https://swiftshader-review.googlesource.com/c/25558Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Enables macros like ASSERT, UNIMPLEMENTED even in release builds. Bug: b/126329018 Change-Id: I7d810862b16d85b0a4ffc6b39a655cc73d4c669a Reviewed-on: https://swiftshader-review.googlesource.com/c/25557 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Bug: b/123933266 Change-Id: If4dc4858c8a81dd5e7b3510a08e7dbae74051483 Reviewed-on: https://swiftshader-review.googlesource.com/c/25556Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Made these suppressions only apply to LLVM as they're scary to be ignored generally. Bug: b/123933266 Change-Id: I23c01f4cad0bac706f515642ce482703a1161d67 Reviewed-on: https://swiftshader-review.googlesource.com/c/25555Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
All the callers needed to fetch this immediately afterward; save some effort. Bug: b/126475489 Change-Id: I622d30aa955c27df8e12fdf87762c0db96133666 Reviewed-on: https://swiftshader-review.googlesource.com/c/25648Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
Adds support for vkBindIndexBuffer and vkDrawIndexed. There is significant duplication currently between Draw::play and DrawIndexed::play, but most of it is going to evaporate when we solve the context stomping problems. Bug: b/118619338 Change-Id: If8e9f7b1f11a3c763e73663733697fddd3e1fcac Reviewed-on: https://swiftshader-review.googlesource.com/c/25508Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-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>
-
Alexis Hetu authored
This cl partially implements vkCmdBindDescriptorSets. It allows binding descriptor sets to the proper pipeline bind point and descriptor set binding location. Dynamic offsets are not yet supported. Bug b/123244275 b/118619338 Change-Id: I91b14b79cb6cf00a4fabb6962938e7f55d5b6c22 Reviewed-on: https://swiftshader-review.googlesource.com/c/24909Tested-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
The simplest PipelineBarrier implementation is to call Renderer::synchronize(). This removes the synchronization mechanism from the draw commands, while still allowing the tests to pass successfully. Bug b/118619338 Change-Id: If7d9c14170db6f9a74a54c45a978d3ce78a1cdca Reviewed-on: https://swiftshader-review.googlesource.com/c/25608Tested-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Logan Chien authored
This commit fixes REACTOR_USE_SUBZERO flag. The commit fde88d96 sets REACTOR_USE_SUBZERO to `false` to disable the SubZero backend. However, other Android.mk uses `ifdef` to check whether the SubZero backend is enabled. As a result, the SubZero backend is always selected because both `REACTOR_USE_SUBZERO := true` and `REACTOR_USE_SUBZERO := false` are considered as defined. This commit replaces `ifdef REACTOR_USE_SUBZERO` with `ifeq ($(REACTOR_USE_SUBZERO),true)` to fix the problem. Bug: b/115344057 Test: Build libEGL_swiftshader and libGLES_swiftshader for Android Change-Id: I83f2dc5018857c630a71a1b7eae636983283783a Reviewed-on: https://swiftshader-review.googlesource.com/c/25528Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Cody Schuffelen <schuffelen@google.com> Tested-by:
Logan Chien <loganchien@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
- 26 Feb, 2019 12 commits
-
-
Ben Clayton authored
New tools for debugging JITed code. rr::Print() is a new function that emits a call to printf() using the provided message and optional values. There is also an overload that accepts additional file, line, and function parameters to help identify the call site. Format values passed to rr::Print() are implicity cast to a new rr::PrintValues type which does the work of dispatching the value type to the correct printf() format specifier(s) and argument value(s). A single rr::Print() format value can automatically be expanded into multiple printf values - for example an rr::Float4 will expand to "%f %f %f %f" and four scalar float values. rr::Print() format values can be any of the following types: * Reactor LValues, RValues, Pointers. * Standard Plain-Old-Value types (int, float, bool, etc) * Custom types that specialize the PrintValue::Ty template struct. * Static arrays in the form T[N] where T can be any of the above. The sw::Vector4f and sw::Vector4s types have already had custom formatters written. These new functions and types described above are typically not called directly. Instead there are two helper macros which simplifies usage: RR_LOG() is a new macro that wraps rr::Print(), automatically populating the function, file and line parameters and appending a newline to the string. RR_WATCH() is a new helper macro that prints the name and value of all the supplied arguments. For example, if you had the Int and bool variables 'foo' and 'bar' that you want to print, you can simply write: RR_WATCH(foo, bar) When this JIT compiled code is executed, it will print: "foo: 1, bar: true" All of this code is disabled in non-debug builds, or if the reactor backend is not LLVM 7+. Change-Id: Ia39b1e507b6afaa3bb1d33e40b1333017f4b4f21 Reviewed-on: https://swiftshader-review.googlesource.com/c/24768Tested-by:Chris Forbes <chrisforbes@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
Change-Id: I7e6589870b539e775371e8941a07a48ca9e0cad7 Reviewed-on: https://swiftshader-review.googlesource.com/c/25628Tested-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
- Point size limits were left at [0,0], forcing all points to zero coverage. Introduce a config value for the maximum, and plumb this through to drive physical device limits query. - Fix all interpolants being replaced with pointcoord Bug: b/124177079 Change-Id: I281dd3214537f15858afbd3890cf70f8850fa4aa Reviewed-on: https://swiftshader-review.googlesource.com/c/25489Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
This cannot occur. The initial stripping of <base>'s pointer type is already handled outside the loop. Bug: b/124388146 Change-Id: I55ea64e868308bfbab72aaefca0fd367916f6e69 Reviewed-on: https://swiftshader-review.googlesource.com/c/25488Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
sw::Surface contains a locking mechanism which is no longer required in Vulkan. The app is now responsible for making sure the lifetime of the objects is long enough for the driver to be able to use them in any operation where they are required. A few shortcuts were taken here: - ImageView::getSampleCount() currently always returns the largest available sample count. - ImageView::subresourceRange.levelCount is not taken into account - Context::getMultiSampleCount() still uses attachment 0 to get the samples count, which may be incorrect. Bug b/118619338 Change-Id: I8cd49926a1537c0f2bc20e6516f12d7de67d6c65 Reviewed-on: https://swiftshader-review.googlesource.com/c/25588Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
There are still some minor sins in here -- we should really unfuse attributes from buffers completely -- but this is enough to have vertex fetch work for all per-vertex attribute scenarios. Bug: b/124177079 Change-Id: I2a7a1a6f049aa80c1a527e9fa9643bb33701d165 Reviewed-on: https://swiftshader-review.googlesource.com/c/25448Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
VertexProcessor multiSampling state was eliminated. Change-Id: I0507c80faff9e00b36d26ea96e3bc3a8e837d574 Reviewed-on: https://swiftshader-review.googlesource.com/c/25569Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Microsoft's x86-64 calling convention ABI requires registers XMM6-15 to be preserved by the callee: https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2017#calling-convention-defaults Currently only the System V calling convention's behavior is supported, which does not have any callee-saved XMM registers. Fixing this properly is non-trivial and this bug is blocking other projects, so a temporary workaround is to limit Subzero to use only scratch registers XMM0-XMM5. Bug chromium:931926 Bug swiftshader:22 Change-Id: If3fde2295fc65fc52042124afe7dfc46873cce3f Reviewed-on: https://swiftshader-review.googlesource.com/c/25568Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Ben Clayton authored
StorageClass, sizeInComponents, isBuiltInBlock are all attributes of the Type, not the Object. Add 'type' field to Object so type information can easily be looked up regardless of definition opcode. Add 'element' field to Type, simplifying the likes of WalkAccessChain. Fixes the weird edge case of OpVariable's sizeInComponents being the size of the pointee, not its type (the pointer). Bug: b/126126820 Change-Id: I2d1d93e03ee0253a87f831031c3b2806b1d80de0 Reviewed-on: https://swiftshader-review.googlesource.com/c/25408 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Prevents you from mixing them up by mistake, and provides better self-documentation on function signatures. Bug: b/126126820 Change-Id: I21ce20ded434ca3d5d03ebf3f9027cf6f6b5386f Reviewed-on: https://swiftshader-review.googlesource.com/c/25068Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Chris Forbes authored
The vertex processor doesn't need to know. V3: also remove from GL side, which didn't use it either. Change-Id: Id0624fb2700222be6238a8449b32b334755a45e7 Reviewed-on: https://swiftshader-review.googlesource.com/c/25332Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Hernan Liatis authored
MAKE_VULKAN_INSTANCE_ENTRY never got undefined Bug: b/125417927 Change-Id: I0fd5d8054748ff6279a65a5086e9a717441e583f Reviewed-on: https://swiftshader-review.googlesource.com/c/25469Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Hernan Liatis <hliatis@google.com>
-
- 25 Feb, 2019 8 commits
-
-
Hernan Liatis authored
Extension checking in vkCreateInstance would simply loop through the first extension requested. This bug did not show up earlier (or at all) because erroneous situations would cause early exits in the loader. Bug: b/125943360 Change-Id: Id664f46d09dce1b3530670ae826314b26797b5be Reviewed-on: https://swiftshader-review.googlesource.com/c/25368Tested-by:
Hernan Liatis <hliatis@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
Initial basic implementation of PipelineLayout. The information stored in the PipelineLayout will be used, among other things, to properly bind descriptor sets affected by a dynamic offset. Bug b/118386749 Change-Id: I05fa6f9c7740cf79a802a5276e2d88f6e6e4ebe7 Reviewed-on: https://swiftshader-review.googlesource.com/c/24948Tested-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
Change-Id: Iacb323b4cc0c0b0373791b3aa3a5f0b4dcaffa44 Reviewed-on: https://swiftshader-review.googlesource.com/c/25428Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
Two consecutive eglBindTexImage calls on the same buffer (texture) would eventually result in a crash if the texture is released before the egl surfaces, so this assert is meant to perform an early detection of a harder to detect future issue. Bug chromium:932986 chromium:929088 Change-Id: I10b3892fe06d491c8a0a09dec84678b25f49c6ab Reviewed-on: https://swiftshader-review.googlesource.com/c/25128Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
4c9f04bb added the build directory, so drop the docs for `mkdir`. Change-Id: Idc7437c0c72666f2c115bb0ddbd753a3179dba79 Reviewed-on: https://swiftshader-review.googlesource.com/c/24508Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
All vulkan resource access will be through descriptors. We don't need any of this context-side state. Bug: b/125909515 Change-Id: Id6d1da0f8a851e057dd3a16fc844b6a70cf9b935 Reviewed-on: https://swiftshader-review.googlesource.com/c/25330 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
Vulkan doesn't have user clip planes in the legacy GL sense -- there is an optional feature to supply GLSL1.30-style clip distances out of the vertex shader, but the actual plane handling is the shader's problem. We also don't support this optional feature. Bug: b/125909515 Change-Id: I6dfc3eda613982112786a52517d1cd126146c590 Reviewed-on: https://swiftshader-review.googlesource.com/c/25329Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Bug: b/125909515 Change-Id: I18f1ed398d85a914863f4b93a2795637e20028b6 Reviewed-on: https://swiftshader-review.googlesource.com/c/25328Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
- 23 Feb, 2019 1 commit
-
-
Chris Forbes authored
There are some horrible hacks in here -- the draw command should not be doing anywhere near this much work -- but this gets us to first triangle. Passes: dEQP-VK.api.smoke.triangle Bug: b/124177079 Change-Id: I4240cb8cdce2f4bbb804e88e66d1695ab0b0e41e Reviewed-on: https://swiftshader-review.googlesource.com/c/25212Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
- 22 Feb, 2019 1 commit
-
-
Chris Forbes authored
Bug: b/124177079 Change-Id: I8e55607c8ff7f9c2d2356268bedf170cf27eeb99 Reviewed-on: https://swiftshader-review.googlesource.com/c/25268Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-