We need to handle all the possible ways a client is allowed to initialize
features on Vulkan.
Bug: skia:
Change-Id: I98b1dee2efa2c22c26ce093c590c7ccd0b626969
Reviewed-on: https://skia-review.googlesource.com/145530
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: skia:
Change-Id: Iff02911491cc61e39f94370c644b6666e5f9118f
Reviewed-on: https://skia-review.googlesource.com/137881
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Core Skia will always include our own SkiaVulkan.h which basically just
includes vulkan_core.h. All platform vulkan specific stuff must be
include by the client in their own vulkan.h file. Our public interface
is set up that we only use vulkan objects that will be present in all
versions of vulkan headers that the client could include.
Bug: skia:
Change-Id: I6673fd91498eabcc923d65d20f2b5e0a89b4ccf6
Reviewed-on: https://skia-review.googlesource.com/142985
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: skia:
Change-Id: I8b73982e4c9372af1c35bfc5e665c2c146d7d9f5
Reviewed-on: https://skia-review.googlesource.com/141121
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
ANGLE has implemented extension to support for texture_rectangle. Check
for its existence as well as GL_ARB_texture_rectangle extension.
Intended to follow up on Chrome side to avoid copy into texture 2d for
PaintCanvasVideoRenderer.
Bug: skia:7903
Origin change's info:
> Change-Id: I450aa7fcd08628831251a9e142fd50719723282d
> Reviewed-on: https://skia-review.googlesource.com/130962
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Weiliang Chen <weiliangc@chromium.org>
Change-Id: Ifec92bdc07ec2b2dae38ffe99ec275924cbd37d8
Reviewed-on: https://skia-review.googlesource.com/139272
Commit-Queue: Weiliang Chen <weiliangc@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Update all users to sk_sp.
Change-Id: I6453b9456b9a8f9e2b756381797f1382ef9e6561
Reviewed-on: https://skia-review.googlesource.com/141052
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Also add a GetProc function to the GrVkBackendContext which will be used
to create the GrVkInterface.
This change (and updating clients to use it), will allow us to move GrVkInterface
out of public which is needed to fix vulkan header issues.
Bug: skia:
Change-Id: Id8067943ae27cec8cad29fd31b05f0b8387412d4
Reviewed-on: https://skia-review.googlesource.com/140783
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
It turns out that SkDeviceProfile is no longer used and can just be
deleted. The ResourceCacheTest and DebugGLTestContext are changed to use
smart pointers where possible. This also clarifies the squirrelly part of
the test. DebugGLTestContext is going away soon anyway.
Change-Id: I95ef24afa58aa4d356429b93d4dec0d72e3fd827
Reviewed-on: https://skia-review.googlesource.com/140577
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Uses a new GPU sink that runs each test twice, once to populate the
cache and then again with a new GrContext but a warmed cache. It
verifies that the two generated images are the same.
Change-Id: Iaba195a69751f14ea946afe7174228a813b83a63
Reviewed-on: https://skia-review.googlesource.com/140567
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This reverts commit 059a9ab4bc.
Reason for revert: Fix landed in Fuchsia
Original change's description:
> Revert "Make GrVkBackendContext no longer derive from SkRefCnt."
>
> This reverts commit 93ae233773.
>
> Reason for revert: <INSERT REASONING HERE>
>
> Original change's description:
> > Make GrVkBackendContext no longer derive from SkRefCnt.
> >
> > Also moves the helper Create functions to VkTestUtils since no clients
> > are using them anymore.
> >
> > Bug: skia:
> > Change-Id: I7e8e4912e7ef6fb00a7e2a00407aed5e83211799
> > Reviewed-on: https://skia-review.googlesource.com/135323
> > Reviewed-by: Jim Van Verth <jvanverth@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: skia:
> Change-Id: If7201917631dc22753ea3fa6e9d2984463e38e4c
> Reviewed-on: https://skia-review.googlesource.com/137903
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:
Change-Id: Ia4b7c0bb2c7b5dba809d85c69f0b41b473140526
Reviewed-on: https://skia-review.googlesource.com/138181
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This reverts commit 93ae233773.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Make GrVkBackendContext no longer derive from SkRefCnt.
>
> Also moves the helper Create functions to VkTestUtils since no clients
> are using them anymore.
>
> Bug: skia:
> Change-Id: I7e8e4912e7ef6fb00a7e2a00407aed5e83211799
> Reviewed-on: https://skia-review.googlesource.com/135323
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:
Change-Id: If7201917631dc22753ea3fa6e9d2984463e38e4c
Reviewed-on: https://skia-review.googlesource.com/137903
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This reverts commit d4b2adeaa9.
Reason for revert: Need to revert earlier changes cause of fucshia
Original change's description:
> Move Vulkan DebugCallback code into tools.
>
> Bug: skia:
> Change-Id: Ib356200e86e54f9ff0ba16396874e6fd10cf0465
> Reviewed-on: https://skia-review.googlesource.com/137424
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:
Change-Id: I38d4e71dc29c6503f92712be54e22c58956498c5
Reviewed-on: https://skia-review.googlesource.com/137902
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This reverts commit 45c9dab4c3.
Reason for revert: fucshia uses GrVkBackendContext. Need to revert earlier changes
Original change's description:
> Let client pass in full extension to GrVkBackendContext.
>
> Bug: skia:
> Change-Id: I772ab4ccbca0f4f7e7d429d6c421b07d97f0606f
> Reviewed-on: https://skia-review.googlesource.com/131880
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
Change-Id: I1a765ff406c83cb234c3614b804fbed677d5a382
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/137901
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Bug: skia:
Change-Id: I772ab4ccbca0f4f7e7d429d6c421b07d97f0606f
Reviewed-on: https://skia-review.googlesource.com/131880
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
With the more agressive abandonment of the GrContext state in https://skia-review.googlesource.com/c/skia/+/137121 (Fix abandonment of programs) (i.e., nulling out of the interface) it is necessary to add more guards so that we don't try calling GL methods when the context has been abandoned.
Change-Id: Ib2a3c17b9eaebd1eb84eb82a2781cf9d5a6a34a3
Reviewed-on: https://skia-review.googlesource.com/137362
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Also moves the helper Create functions to VkTestUtils since no clients
are using them anymore.
Bug: skia:
Change-Id: I7e8e4912e7ef6fb00a7e2a00407aed5e83211799
Reviewed-on: https://skia-review.googlesource.com/135323
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Now that the path cache is implemented, we can use ccpr everywhere.
Modifies ccpr to not cache unless the "fAllowPathMaskCaching" context
option is enabled.
Adds a small condition to skip complicated paths with more vertices
than pixels, simply so we don't regress a couple testcases.
Updates skpbench to do three draws before starting the timer, in order
to prime the cache.
Bug: skia:
Change-Id: Ic3a0a2bdad8a22ff6431e77fa4da2b54d6bb9aba
Reviewed-on: https://skia-review.googlesource.com/137207
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Implement caching as follows:
1) Instead of deleting the mainline ccpr atlas when finished, stash it
away from flush to flush.
2) On subsequent flushes, check the stashed atlas to see if we can
reuse any of its cachable paths. Copy reusable paths into 8-bit
literal coverage atlases and store them in the resource cache.
3) Recycle the stashed atlas texture for the remaining paths in the
flush.
Bug: skia:
Change-Id: I9b20fbea708646df1df3a5f9c044e2299706b989
Reviewed-on: https://skia-review.googlesource.com/134703
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This reverts commit 2a2f675926.
Reason for revert: this appears to be what is holding up the Chrome roll.
Original change's description:
> SkTypes: extract SkTo
>
> Change-Id: I8de790d5013db2105ad885fa2683303d7c250b09
> Reviewed-on: https://skia-review.googlesource.com/133620
> Reviewed-by: Mike Klein <mtklein@google.com>
TBR=mtklein@google.com,halcanary@google.com
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: Iafd738aedfb679a23c061a51afe4b98a8d4cdfae
Reviewed-on: https://skia-review.googlesource.com/134504
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
PS5: Removes SkDestinationSurfaceColorMode, tracking of mipmap
mode on GrTexture, sRGB decode state per-texture. Because we
were often choosing sRGB configs for RGB color types, legacy
rendering would then be incorrect (too dark). So...
PS7: Stops ever using sRGB pixel configs when translating
image info or color type. Also removes a bunch of GrCaps bits
and a GrContextOption that are no longer relevant.
PS9: Adjusts surface creation unit test expectations, and
changes the raster rules accordingly.
At this point, sRGB configs are (obviously) going to be broken.
Locally, I ran 8888, gl, and the gbr- versions of both. Across
all GMs x configs, there are 13 diffs. 12 are GMs that create
surfaces with a color-space attached (and thus, the offscreen
is no longer getting sRGB pixel config). The only remainder
constructs an SkPictureImageGenerator, (with an attached color
space) and renders it to the gbr-gl canvas, which triggers a
a tagged surface inside the generator.
Bug: skia:
Change-Id: Ie5edfa157dd799f3121e8173fc4f97f6c8ed6789
Reviewed-on: https://skia-review.googlesource.com/131282
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This reverts commit 00f8866a32.
Reason for revert: Seems to be breaking angle test bots. Eg:
https://chromium-swarm.appspot.com/task?id=3dcb7f58728de610&refresh=10
Original change's description:
> Check for ANGLE's implementation of texture_rectangle
>
> ANGLE has implemented extension to support for texture_rectangle. Check
> for its existence as well as GL_ARB_texture_rectangle extension.
>
> Intended to follow up on Chrome side to avoid copy into texture 2d for
> PaintCanvasVideoRenderer.
>
> Bug: skia:7903
> Change-Id: I450aa7fcd08628831251a9e142fd50719723282d
> Reviewed-on: https://skia-review.googlesource.com/130962
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Weiliang Chen <weiliangc@chromium.org>
TBR=bsalomon@google.com,weiliangc@chromium.org
Change-Id: I9fbf9ff314ffcf3abcc5275bd68124f4b329da21
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7903
Reviewed-on: https://skia-review.googlesource.com/131060
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
ANGLE has implemented extension to support for texture_rectangle. Check
for its existence as well as GL_ARB_texture_rectangle extension.
Intended to follow up on Chrome side to avoid copy into texture 2d for
PaintCanvasVideoRenderer.
Bug: skia:7903
Change-Id: I450aa7fcd08628831251a9e142fd50719723282d
Reviewed-on: https://skia-review.googlesource.com/130962
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Weiliang Chen <weiliangc@chromium.org>
This reverts commit 2c2a119f94.
Reason for revert: Relanding with fixes
Original change's description:
> Revert "Move gn setup for vulkan library/headers into their own third_party directory."
>
> This reverts commit 477094250c.
>
> Reason for revert:
> I think we know this broke the MoltenVK bots. It also appears to have broken the Fuchsia roll: https://logs.chromium.org/v/?s=fuchsia%2Fbuildbucket%2Fcr-buildbucket.appspot.com%2F8945885190914943680%2F%2B%2Fsteps%2Fbuild%2F0%2Fsteps%2Fbuild_fuchsia%2F0%2Fsteps%2Fgn_gen%2F0%2Fstdout
>
> Original change's description:
> > Move gn setup for vulkan library/headers into their own third_party directory.
> >
> > Bug: skia:
> > Change-Id: I4605f0d962271efb77bf3c17f1b0daaaddfb51c8
> > Reviewed-on: https://skia-review.googlesource.com/128540
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Mike Klein <mtklein@google.com>
> > Reviewed-by: Ben Wagner <bungeman@google.com>
>
> TBR=egdaniel@google.com,mtklein@google.com,bungeman@google.com
>
> Change-Id: I6e41d98e39883eff34424a2f352b0c8adec178db
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/129444
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
Bug: skia:
Change-Id: I26b4b1f7196dd1bd8bf2e7641ef741c90c742c81
Reviewed-on: https://skia-review.googlesource.com/129445
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This reverts commit b5f2897ab5.
Reason for revert: looks like this broke the build for DM in Google3. Need more include dirs there?
Original change's description:
> IWYU for tests starting with 'D'.
>
> Change-Id: I9189e4b56ce1635b627119733447c2ed4220753d
> Reviewed-on: https://skia-review.googlesource.com/129319
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
TBR=bsalomon@google.com,bungeman@google.com,herb@google.com
Change-Id: I01aac7dae6114685a0652cbde3defccc8a42caea
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/129443
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Also renames a lot of variables to make it clearer that getProxies()
returns the number of instantiated proxies, not the number of all
proxies.
Bug: skia:
Change-Id: Ifbc910cbd6635dccdb4e7f0df2e69a0f341130af
Reviewed-on: https://skia-review.googlesource.com/128660
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>