- 28 Feb, 2019 12 commits
-
-
Hernan Liatis authored
Bug: b/124265819 Change-Id: I19bbaeefe19ade1afeb6764d4f5576a29334d8bd Reviewed-on: https://swiftshader-review.googlesource.com/c/25490Tested-by:
Hernan Liatis <hliatis@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Hernan Liatis authored
Should pass the following deqp tests: dEQP-VK.wsi.xlib.surface.create dEQP-VK.wsi.xlib.surface.query_supportS dEQP-VK.wsi.xlib.surface.query_capabilities dEQP-VK.wsi.xlib.surface.query_formatsW dEQP-VK.wsi.xlib.surface.query_present_modes dEQP-VK.wsi.xlib.surface.destroy_null_handle dEQP-VK.wsi.xlib.surface.initial_size dEQP-VK.wsi.xlib.surface.resizeSW Bug: b/124265819 Change-Id: I92da1cc8d60923ea97aa26d3d6a098274c6e06b7 Reviewed-on: https://swiftshader-review.googlesource.com/c/25308Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com> Tested-by:
Hernan Liatis <hliatis@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Pastel 1.0 does not need to implement logic ops. From discussion with capn@, the existing support was only ever partial, and covered the exact needs of a special project. Change-Id: I3003227c4d29ab5d39e0ae6385207c87d22931e2 Reviewed-on: https://swiftshader-review.googlesource.com/c/25828Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Color attachment 0 (or any color attachments!) may not exist; rasterizer behavior is supposed to be completely independent of this. Bug: b/126417154 Change-Id: If16307a7964c267af254e2a62822ac38cf58c48c Reviewed-on: https://swiftshader-review.googlesource.com/c/25809Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Even in the GLES backend, we support RENDERTARGETS=8. This check only ever considered the first 4. Bug: b/126719156 Change-Id: I0084aa005f342f06373c53c007bee33268466b92 Reviewed-on: https://swiftshader-review.googlesource.com/c/25808Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
All texture access in Vulkan is through descriptors. We don't need any of the context-side state for this. Bug: b/125909515 Change-Id: I7d0846d2fdcc03504e2dd3f44580fb5c09188c1a Reviewed-on: https://swiftshader-review.googlesource.com/c/25331Tested-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>
-
Ben Clayton authored
Regres will pick up these lists instead of using its builtin fallback lists. These lists include additional wsi tests Change-Id: Iec77d56bb2fc79153c090226e668e613b7969bff Reviewed-on: https://swiftshader-review.googlesource.com/c/25788 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Hernan Liatis <hliatis@google.com>
-
Ben Clayton authored
These are only going to grow. Bug: b/126126820 Change-Id: I03a2b214e9968c31dabc4814b505c1f8c22349ae Reviewed-on: https://swiftshader-review.googlesource.com/c/25552 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
My memory isn't good enough to remember all opcodes by number. Enum string list stripped in release builds. Change-Id: Ifa9b9585ee6294a26db5676a34f8ad9c90f527b8 Reviewed-on: https://swiftshader-review.googlesource.com/c/25551 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Reduces function size, increases readability. Bug: b/126126820 Change-Id: I073dd40114d3c5e6e7c6088db9fc8f2a0b9d8bac Reviewed-on: https://swiftshader-review.googlesource.com/c/25550Tested-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>
-
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>
-