aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/vk
Commit message (Collapse)AuthorAge
* Add integer array uniforms to GL and VulkanGravatar fmenozzi2016-07-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163173005 Review-Url: https://codereview.chromium.org/2163173005
* 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
* Add Texture2D and Sampler GrSLTypesGravatar egdaniel2016-07-13
| | | | | | | | | | | | | | | | | | | | | | | | These two new types are in support of Vulkan and the ability to send separate texture and sampler uniforms to the shader. They don't really fit well in the current system, since the current system ties together to idea of intended use and how to emit shader code into the same GrSLType enum. In vulkan, I want the GrGLSLSampler object to be used as a Sampler2D, but when appending its declaration it will emit a Texture2D and sampler object. Our query for GrSLTypeIsSamplerType refers more to the combination of texture and sampler and not just the sampler part. The GrSLTypeIs2DTextureType query is for is a a SamplerType that uses Texture2Ds. My new types don't really fit into either these categories as they are just half of the whole. In some refactoring down the road (possibly connected with SkSL), I suggest we split apart the concept of how we intend to use a GrGLSLSampler (Sampler2D, SamplerBuffer, etc.), from how we actually add it to the code (sampler, texture2D, sampler2D, etc.). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143143002 Review-Url: https://codereview.chromium.org/2143143002
* Revert of SkSL performance improvements (patchset #6 id:140001 of ↵Gravatar msarett2016-07-13
| | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2131223002/ ) Reason for revert: Valgrind bot failures https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind/builds/1224/steps/test_skia%20on%20Ubuntu/logs/stdio Original issue's description: > SkSL performance improvements (plus a couple of minor warning fixes) > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2131223002 > > Committed: https://skia.googlesource.com/skia/+/9fd67a1f53809f5eff1210dd107241b450c48acc TBR=benjaminwagner@google.com,egdaniel@google.com,ethannicholas@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. Review-Url: https://codereview.chromium.org/2143323003
* Add resource provider flag to avoid client-side buffersGravatar csmartdalton2016-07-13
| | | | | | | | | | | | | | | On some platforms, a newly-created buffer was liable to be CPU backed. This would break code that expected a VBO (aka instanced rendering). This change adds an optional flag to GrResourceProvider that requires a buffer to be created in GPU memory. It also moves the CPU backing logic into Gr land in order to properly cache real VBOs on platforms that prefer client-side buffers. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143333002 Review-Url: https://codereview.chromium.org/2143333002
* SkSL performance improvements (plus a couple of minor warning fixes)Gravatar ethannicholas2016-07-12
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2131223002 Review-Url: https://codereview.chromium.org/2131223002
* 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
* Only check resource tracking on program shutdown, not context shutdownGravatar jvanverth2016-07-07
| | | | | | | BUG=skia:5496 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2128273002 Review-Url: https://codereview.chromium.org/2128273002
* Fix vulkan compileGravatar egdaniel2016-07-07
| | | | | | | | TBR=jvanverth@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2122263003 Review-Url: https://codereview.chromium.org/2122263003
* Correctly handle mat2x2 in VulkanGravatar egdaniel2016-07-07
| | | | | | | BUG=skia:5497 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129953002 Review-Url: https://codereview.chromium.org/2129953002
* Pull out freelist allocation from GrVkSubHeapGravatar jvanverth2016-07-07
| | | | | | | BUG=skia:5031 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2128673002 Review-Url: https://codereview.chromium.org/2128673002
* Deleting void pointers is bad, mmmkay?Gravatar jvanverth2016-07-06
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129483003 Review-Url: https://codereview.chromium.org/2129483003
* Vulkan fixes for TesselatingPathRenderer testGravatar jvanverth2016-07-06
| | | | | | | | - Be sure to release all secondard command buffers on shutdown - Allow mapping of static buffers GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2123323002 Review-Url: https://codereview.chromium.org/2123323002
* Grow descriptor pools by 1.5Gravatar egdaniel2016-07-06
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2121243002 Review-Url: https://codereview.chromium.org/2121243002
* 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
* Compile Vulkan when building for the Android framework.Gravatar djsollen2016-07-06
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129523002 Review-Url: https://codereview.chromium.org/2129523002
* 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
* Fix vulkan ImageView swizzling to match specGravatar egdaniel2016-07-01
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115903002 Review-Url: https://codereview.chromium.org/2115903002
* Remove support for GL discardsGravatar egdaniel2016-06-30
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2112693003 Review-Url: https://codereview.chromium.org/2112693003
* 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
* Add discard support to VulkanGravatar egdaniel2016-06-30
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2104353002 Review-Url: https://codereview.chromium.org/2104353002
* 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
* Enable many more tests for VulkanGravatar egdaniel2016-06-28
| | | | | | | BUG=skia:5461 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2103133002 Review-Url: https://codereview.chromium.org/2103133002
* 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
* Fix check for maxVertexAttributes in GrVkPipelineGravatar egdaniel2016-06-27
| | | | | | | BUG=skia:5461 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2098933002 Review-Url: https://codereview.chromium.org/2098933002
* 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
* Remove unnecessary srcAccessMask for preinitialized images in vulkanGravatar egdaniel2016-06-24
| | | | | | | | | This fixes a warning we were receiving while running tests in Vulkan. BUG=skia:5458 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2095923004 Review-Url: https://codereview.chromium.org/2095923004
* 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
* Fix vulkan clearsGravatar egdaniel2016-06-23
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2096793002 Review-Url: https://codereview.chromium.org/2096793002
* 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
* Integers can now be passed as uniforms; needed for passing color count to ↵Gravatar fmenozzi2016-06-21
| | | | | | | | | | fragment shader BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2076143003 Committed: https://skia.googlesource.com/skia/+/cc3a22b369e1a60fa2acf2987f2934baf7c4b198 Review-Url: https://codereview.chromium.org/2076143003
* Check for some potential subheap allocation failures.Gravatar jvanverth2016-06-16
| | | | | | | | | Need to make sure we can allocate areas larger than our specified subheap sizes, and deal with potential fragmentation in the main system heap. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2072763002 Review-Url: https://codereview.chromium.org/2072763002
* Add heap tests for Vulkan.Gravatar jvanverth2016-06-16
| | | | | | | | | Also fixes some bugs that were found. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2072453002 Review-Url: https://codereview.chromium.org/2072453002
* Fix linux compile errorGravatar jvanverth2016-06-14
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069633002 TBR=egdaniel@google.com Review-Url: https://codereview.chromium.org/2069633002
* Fix compile error (uninitialized variable use)Gravatar brianosman2016-06-14
| | | | | | | | | | | switch is already handling all cases, but some compilers don't care. This suppresses errors about potentially using vkLoadOp and vkStoreOp uninitialized. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2068523002 Review-Url: https://codereview.chromium.org/2068523002
* 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
* Cleanup needed to use WindowContext for AndroidGravatar djsollen2016-06-09
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055693003 Review-Url: https://codereview.chromium.org/2055693003
* Add GpuCommandBuffer support.Gravatar egdaniel2016-06-08
| | | | | | | | | | | | | | | Currently this is not actually hooked into the system. To give some context, in a follow up CL I'll add this to GrDrawTarget. For this I will move the gpu onDraw command to the GpuCommandBuffer as well. For GL this will end up just being a pass through to a non virtual draw(...) on GrGLGpu, and for vulkan it will mostly do what it currently does but adding commands to the secondary command buffer instead. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2038583002 Review-Url: https://codereview.chromium.org/2038583002
* Fix mipmap generation on Nexus 5x & 6p devices.Gravatar brianosman2016-06-08
| | | | | | | | | | Just like copyImage, these want the Z range of blit regions to be [0, 1], even for 2D resources where Z should be ignored. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2039913007 Review-Url: https://codereview.chromium.org/2039913007
* Subclass GrVkCommandBuffer into Primary and Secondary CommandBuffers.Gravatar egdaniel2016-06-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2019723002 Review-Url: https://codereview.chromium.org/2019723002