aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/vk/GrVkGpu.cpp
Commit message (Collapse)AuthorAge
* Fix Vulkan command buffer assert on device lostGravatar Jim Van Verth2016-11-07
| | | | | | | | | | | | BUG=skia:5939 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4483 Change-Id: Id363c4d774095b1707adbe6c8ab537c6e5ecab6c Reviewed-on: https://skia-review.googlesource.com/4483 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Update vulkan ranges to be 0 to 1 for all z valuesGravatar Greg Daniel2016-11-02
| | | | | | | | | | | | | | The spec has been updated to require setting the range for z/depth values to be 0-1 when the image is 2D instead of just ignoring the field as before. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4308 Change-Id: Ic054ee732472cd9c69f7197fd62cb0cb4f2b26ce Reviewed-on: https://skia-review.googlesource.com/4308 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Move memoization of multisample specs id to GrRenderTargetGravatar csmartdalton2016-11-01
| | | | | | | | | | | GrGpu used to perform the memoization on behalf of GrRenderTarget via a public accessor. This change updates GrRenderTarget to do its own work. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2467593002 Review-Url: https://codereview.chromium.org/2467593002
* Remove check of INITIALIZATION_FAILED in qcomm vulkan runsGravatar Greg Daniel2016-10-31
| | | | | | | | | | | | | | | | This was another workaround for a flaky bug that happened on Adreno devices. With all the devices updated to newer drivers I want to see if it still happens. I haven't been able to repo the original bug locally with multiple runs, so I think it is time to step it up to the bots. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4212 Change-Id: Idc260785096b054cf0fb30ce9ff0d97178c10ed6 Reviewed-on: https://skia-review.googlesource.com/4212 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Remove SkAutoTUnref and SkAutoTDelete from public includes.Gravatar bungeman2016-10-27
| | | | | | | | | | | | | | | This also makes the required changed to src, tests, and tools. The few public APIs modified by this change appear to be unused outside of Skia. Removing these from the public API makes it easier to ensure users are no longer using them. This also updates GrGpu::wrapBackendXXX and the ::onWrapBackendXXX methods to clarify ownership. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2448593002 Review-Url: https://codereview.chromium.org/2448593002
* Add GrOpList and rename GrDrawTarget to GrRenderTargetOpListGravatar Robert Phillips2016-10-26
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3910 Change-Id: I026aa26ecc61a0d002e98892dca728536259e8b1 Reviewed-on: https://skia-review.googlesource.com/3910 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Fix interface validation in Vulkan.Gravatar Greg Daniel2016-10-12
| | | | | | | | | | | | | TBR=bsalomon@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3176 Change-Id: Ifad3249e6839e9b4aa34792646b2d54ff9304da7 Reviewed-on: https://skia-review.googlesource.com/3176 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Add fence support for TransferBuffersGravatar jvanverth2016-09-30
| | | | | | | BUG=skia:4604 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2384463003 Review-Url: https://codereview.chromium.org/2384463003
* Add command buffer submits before copy calls in vulkan.Gravatar egdaniel2016-09-27
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2363773006 Committed: https://skia.googlesource.com/skia/+/25661bac7722860b7589c5b01ec404531d941456 Review-Url: https://codereview.chromium.org/2363773006
* Revert of Add command buffer submits before copy calls in vulkan. (patchset ↵Gravatar egdaniel2016-09-27
| | | | | | | | | | | | | | | | | | | | | | | | #5 id:80001 of https://codereview.chromium.org/2363773006/ ) Reason for revert: breaking things since apparently nvidia != windows always... Original issue's description: > Add command buffer submits before copy calls in vulkan. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2363773006 > > Committed: https://skia.googlesource.com/skia/+/25661bac7722860b7589c5b01ec404531d941456 TBR=jvanverth@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2373503004
* Add command buffer submits before copy calls in vulkan.Gravatar egdaniel2016-09-27
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2363773006 Review-Url: https://codereview.chromium.org/2363773006
* Add GrVkCopyPipeline to handle vulkan copies as drawsGravatar egdaniel2016-09-27
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2274663005 Review-Url: https://codereview.chromium.org/2274663005
* Fix possible divide by zero in vulkan granularity adjustmentsGravatar egdaniel2016-09-20
| | | | | | | | | This should fix the divide by zero crash on the nexus player bots BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2358613002 Review-Url: https://codereview.chromium.org/2358613002
* Support use of non-coherent memory allocations in Vulkan.Gravatar jvanverth2016-09-20
| | | | | | | BUG=skia:5034 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2348523002 Review-Url: https://codereview.chromium.org/2348523002
* Workaround for Adreno INITIALIZATION_FAILED bugGravatar egdaniel2016-09-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2352083002 Review-Url: https://codereview.chromium.org/2352083002
* Refactor vulkan buffer mapping and unmappingGravatar egdaniel2016-09-19
| | | | | | | | | | | | | | A lot of this is so we don't have duplicated code in both the map/unmap and updateData functions of GrVkBuffer. Also there were slightly differences in how we handled various things in the two cases that this now unifies. Also I added a barrier after the vkUpdateBuffer call which I believe was missing. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2344323002 Review-Url: https://codereview.chromium.org/2344323002
* Lots of little cleanup improvements to VulkanGravatar egdaniel2016-09-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2336763002 Review-Url: https://codereview.chromium.org/2336763002
* Add workaround for Adreno copyImageToBuffer calls on VulkanGravatar egdaniel2016-09-12
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2328823003 Review-Url: https://codereview.chromium.org/2328823003
* Add some copy support for vulkan msaaGravatar egdaniel2016-08-31
| | | | | | | | | | | | | | This allows us to do copies from: msaa->msaa with same sample count msaa->no-msaa with a resolve Still missing support for no-msaa to msaa which will require a copyAsDraw which is currently stalled and fixing possible driver bugs. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2294533002 Review-Url: https://codereview.chromium.org/2294533002
* Remove unneeded pipeline barrier in vulkanGravatar egdaniel2016-08-29
| | | | | | | | | We don't need to syncronize the mapped memory writes to the buffer since all CPU writes are already syncronized when we submit a command buffer. And we are using coherent memory for buffers so we don't need to call vkFlushMappedMemory BUG=skia: Review-Url: https://codereview.chromium.org/2289973002
* Don't add the resolve attachment to vulkan render passes.Gravatar egdaniel2016-08-26
| | | | | | | | | Also includes some other msaa bug fixes BUG=skia:5127 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2256843002 Review-Url: https://codereview.chromium.org/2256843002
* Add addtional resolve calls to vulkan backendGravatar egdaniel2016-08-24
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2215363003 Review-Url: https://codereview.chromium.org/2215363003
* Fix compile warning on MSVC-vulkan (VkDeviceSize -> size_t)Gravatar brianosman2016-08-15
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246183002 Review-Url: https://codereview.chromium.org/2246183002
* Fix copying of data in vulkan testing textureGravatar egdaniel2016-08-15
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2248703002 Review-Url: https://codereview.chromium.org/2248703002
* Allow vulkan to upload data to testing textures with optimal layoutsGravatar egdaniel2016-08-12
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2242553002 Review-Url: https://codereview.chromium.org/2242553002
* Fix vulkan resolveGravatar egdaniel2016-08-05
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2215353003 Review-Url: https://codereview.chromium.org/2215353003
* Implement Vulkan Resolve.Gravatar egdaniel2016-08-04
| | | | | | | | | First step to getting msaa running on vulkan BUG=skia:5127 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2210383002 Review-Url: https://codereview.chromium.org/2210383002
* Add gyp define to enable vulkan debug layersGravatar egdaniel2016-07-27
| | | | | | | | | | | | | | | | | | On Debug vulkan bots, running with the debug layers on seems to be adding more than an hour to the total running time. Since we suppress any output on the bots anyways the debug layers are serving no purpose. Thus I am adding a gyp define to disable the layers on the bot. With this change, by default when running vulkan in Debug, the debug_layers will be enabled. The bots should disable the layers. Android framework should also have them disabled by default. TBR=djsollen@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2185953003 Review-Url: https://codereview.chromium.org/2185953003
* Recycle small uniform buffers.Gravatar jvanverth2016-07-22
| | | | | | | BUG=skia:5031 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2159333002 Review-Url: https://codereview.chromium.org/2159333002
* Convert readSurfacePixels to use a draw context instead of a textureGravatar bsalomon2016-07-19
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165523003 Review-Url: https://codereview.chromium.org/2165523003
* Dont allocate a new image which already has mip levels, when regenerating ↵Gravatar egdaniel2016-07-15
| | | | | | | | | vulkan mipmaps BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146063008 Review-Url: https://codereview.chromium.org/2146063008
* Update RT views and framebuffer in vulkan after mipmapingGravatar egdaniel2016-07-13
| | | | | | | | | | | | I've also changed it so all attachment views (texture, color, and resolve) are created separately and not shared with each other. This just added a lot more complexity than we were probably even saving in time. A quick fix to make sure we don't reuse keys in resource tracking also got merged into this change. BUG=skia:5223 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146103002 Review-Url: https://codereview.chromium.org/2146103002
* Check granularity in render pass boundsGravatar egdaniel2016-07-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2126303002 Review-Url: https://codereview.chromium.org/2126303002
* Add offsets to GrVkBuffer.Gravatar jvanverth2016-07-07
| | | | | | | BUG=skia:5031 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2127183002 Review-Url: https://codereview.chromium.org/2127183002
* Fix caching of sample locationsGravatar csmartdalton2016-07-06
| | | | | | | | | | | | | | | The original caching logic for sample locations wishfully assumed that the GPU would always use the same sample pattern for render targets that had the same number of samples. It turns out we can't rely on that. This change improves the caching logic to handle mismatched simple patterns with the same count, and adds a unit test that emulates different sample patterns observed on real hardware. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111423002 Committed: https://skia.googlesource.com/skia/+/09d49a3bfe2d1e652a648ce1ea0962b38d10d166 Review-Url: https://codereview.chromium.org/2111423002
* Add resource tracking output and command buffer recyclingGravatar jvanverth2016-07-06
| | | | | | | BUG=skia:5042 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115993002 Review-Url: https://codereview.chromium.org/2115993002
* Fix vulkan image samplingGravatar egdaniel2016-07-06
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2118733005 Review-Url: https://codereview.chromium.org/2118733005
* Revert of Fix caching of sample locations (patchset #3 id:40001 of ↵Gravatar rmistry2016-07-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2111423002/ ) Reason for revert: Seems to be causing Chromium roll failures: * https://codereview.chromium.org/2120373003 * https://codereview.chromium.org/2117193002 * https://codereview.chromium.org/2124653002 Original issue's description: > Fix caching of sample locations > > The original caching logic for sample locations wishfully assumed that > the GPU would always use the same sample pattern for render targets > that had the same number of samples. It turns out we can't rely on > that. This change improves the caching logic to handle mismatched > simple patterns with the same count, and adds a unit test that > emulates different sample patterns observed on real hardware. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111423002 > > Committed: https://skia.googlesource.com/skia/+/09d49a3bfe2d1e652a648ce1ea0962b38d10d166 TBR=bsalomon@google.com,csmartdalton@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2120403002
* Fix caching of sample locationsGravatar csmartdalton2016-07-04
| | | | | | | | | | | | | | The original caching logic for sample locations wishfully assumed that the GPU would always use the same sample pattern for render targets that had the same number of samples. It turns out we can't rely on that. This change improves the caching logic to handle mismatched simple patterns with the same count, and adds a unit test that emulates different sample patterns observed on real hardware. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111423002 Review-Url: https://codereview.chromium.org/2111423002
* initial checkin of SkSL compilerGravatar ethannicholas2016-07-01
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1984363002 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review-Url: https://codereview.chromium.org/1984363002
* Use bounds of batches for render pass boundsGravatar egdaniel2016-07-01
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2113303002 Review-Url: https://codereview.chromium.org/2113303002
* Add static buffer supportGravatar jvanverth2016-06-30
| | | | | | | | | Put resource tracking check in the right place BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2112653002 Review-Url: https://codereview.chromium.org/2112653002
* Fix vulkan onGetWritePixelsInfoGravatar egdaniel2016-06-28
| | | | | | | | | | | When the configs are the same in Vulkan we know we can do write pixels, but the caller may need to do a draw, so make sure we set up the tempDrawInfo before returning. BUG=skia:5461, skia:5458 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2108873003 Review-Url: https://codereview.chromium.org/2108873003
* Fix Vulkan readPixelsGravatar egdaniel2016-06-27
| | | | | | | | | | | Fixed bug with setting up tempReadTexture from previous CL. Also, previously we were not correctly handling the rowBytes during the read. BUG=skia:5461 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2102633003 Review-Url: https://codereview.chromium.org/2102633003
* Add support for draws in vulkan read and write pixelsGravatar egdaniel2016-06-27
| | | | | | | | | | | | GL has a lot more optimizations checks here to make sure we do the most effecient and correct draw here, but for now as long as the features are support we just do basic draws for both reads and writes when we need certain conversions. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2105433002 Review-Url: https://codereview.chromium.org/2105433002
* Add Sleep on windows GrVkGpu dtor to avoid fence bugGravatar egdaniel2016-06-24
| | | | | | | BUG=skia:5458 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2099813002 Review-Url: https://codereview.chromium.org/2099813002
* Have gpu createTestingOlyBackendTexture know if it is a render target or notGravatar egdaniel2016-06-24
| | | | | | | | | | In Vulkan we need to know at create time of a texture whether or not we will use it as a render target. BUG=skia:5458 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2093943002 Review-Url: https://codereview.chromium.org/2093943002
* Start using GrGpuCommandBuffer in GrDrawTarget.Gravatar egdaniel2016-06-23
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2052263003 Review-Url: https://codereview.chromium.org/2078483002
* Use single alloc for vulkan optimal image heaps to fix memory crashGravatar egdaniel2016-06-22
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087283002 Review-Url: https://codereview.chromium.org/2087283002
* Create free list heap for suballocationGravatar jvanverth2016-06-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2029763002 Review-Url: https://codereview.chromium.org/2029763002