Commit Graph

22769 Commits

Author SHA1 Message Date
msarett
04d35bd80d Keep SkColorSpace and SkColorProfileType in sync
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2068743003

Review-Url: https://codereview.chromium.org/2068743003
2016-06-15 12:12:48 -07:00
dvonbeck
a7d1e2a57a Refactoring of GPU NormalMap handling out into its own class.
The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.

What this CL includes:

- Created a new 'NormalMapFP', out of the existing normal map reading behavior in LightingFP.

- Encapsulates this new fragment processor on a new class NormalMapSource.

- Created a NormalSource abstraction that will interface with SkLightingShader.

- Adapted SkLightingShader to use the normals from its NormalSource field ON THE GPU SIDE. No changes done to the CPU side yet.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043393002

Committed: https://skia.googlesource.com/skia/+/87b0dd00cf9409c5fc990f5d0bb7c0df837f08da
Review-Url: https://codereview.chromium.org/2043393002
2016-06-15 12:07:56 -07:00
borenet
0f1469bcda Add asset management scripts
These provide an easy way to create assets to be used by bots,
eg. Android SDK.

To create an asset:
$ infra/bots/assets/assets.py add android_sdk
(adds scripts in infra/bots/assets/android_sdk)

To upload a new version of an asset:
$ infra/bots/assets/android_sdk/upload.py -t $ANDROID_SDK_ROOT
(uploads Android SDK to GS, writes a version file)
$ git commit
$ git cl upload

To download the current version of the asset:
$ infra/bots/assets/android_sdk/download.py -t ../tmp

BUG=skia:5427
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069543002

Review-Url: https://codereview.chromium.org/2069543002
2016-06-15 12:07:42 -07:00
dvonbeck
115e925dc8 Added warning for variable-length arrays to GYP, since they are unsupprted under Win targets
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2068863002

Review-Url: https://codereview.chromium.org/2068863002
2016-06-15 09:13:51 -07:00
hstern
9bd4c69302 Add SampleApp that shows problems in stroking
- When the stroke width gets too big the raster algorithm produces
  incorrect output
- This also causes the GPU path to produce incorrect output if the width
  is larger than an arbitrary limit in GrAALinearizingConvexPathRenderer
  (which is the renderer used for this specific geometry)

- Other non-convex geometries probably also produce strange results

BUG=skia:5405,skia:5406
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2060903002

Review-Url: https://codereview.chromium.org/2060903002
2016-06-15 09:13:35 -07:00
bsalomon
f130b8299b Actually fix leak in deferred_texture_image_data
TBR=egdaniel@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2068863003

Review-Url: https://codereview.chromium.org/2068863003
2016-06-15 09:00:21 -07:00
bsalomon
e5b651f94c Add test for rendering an already abandoned texture-backed SkImage.
BUG=chromium:618858
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2067133002

Review-Url: https://codereview.chromium.org/2067133002
2016-06-15 07:36:15 -07:00
bsalomon
352f3450bc Check for abandoned texture in GrTextureAdjuster::refTextureSafeForParams
BUG=chromium:618858
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2063313002

TBR=egdaniel@google.com

Review-Url: https://codereview.chromium.org/2063313002
2016-06-14 16:13:09 -07:00
egdaniel
da743935fa Revert of Refactoring of GPU NormalMap handling out into its own class (patchset #7 id:120001 of https://codereview.chromium.org/2043393002/ )
Reason for revert:
Breaking build and deps roll. Need to move include of SkBitmapProcShader in SkLightingShader.cpp from gpu include list to general list.

Original issue's description:
> Refactoring of GPU NormalMap handling out into its own class.
>
> The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.
>
> What this CL includes:
>
> - Created a new 'NormalMapFP', out of the existing normal map reading behavior in LightingFP.
>
> - Encapsulates this new fragment processor on a new class NormalMapSource.
>
> - Created a NormalSource abstraction that will interface with SkLightingShader.
>
> - Adapted SkLightingShader to use the normals from its NormalSource field ON THE GPU SIDE. No changes done to the CPU side yet.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043393002
>
> Committed: https://skia.googlesource.com/skia/+/87b0dd00cf9409c5fc990f5d0bb7c0df837f08da

TBR=reed@google.com,dvonbeck@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/2062133004
2016-06-14 15:30:05 -07:00
bsalomon
85730abbf8 Fix leak of GrContextThreadSafeProxy in deferred_texture_image_data
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069443004

Review-Url: https://codereview.chromium.org/2069443004
2016-06-14 14:44:28 -07:00
dvonbeck
87b0dd00cf Refactoring of GPU NormalMap handling out into its own class.
The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.

What this CL includes:

- Created a new 'NormalMapFP', out of the existing normal map reading behavior in LightingFP.

- Encapsulates this new fragment processor on a new class NormalMapSource.

- Created a NormalSource abstraction that will interface with SkLightingShader.

- Adapted SkLightingShader to use the normals from its NormalSource field ON THE GPU SIDE. No changes done to the CPU side yet.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043393002

Review-Url: https://codereview.chromium.org/2043393002
2016-06-14 14:43:52 -07:00
bsalomon
fd32df716c Fix GrShape to preserve inverseness of rrects for strokes but not dashes.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2051263003

Review-Url: https://codereview.chromium.org/2051263003
2016-06-14 14:37:21 -07:00
bsalomon
f7fcdb226d Bin circular blur profile textures by scale and blur to radius ratio.
This reduces the number of profile textures that will be generated throughout an animation and also caps the texture size. It could probably be better tuned.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2062743003

Review-Url: https://codereview.chromium.org/2062743003
2016-06-14 14:37:12 -07:00
halcanary
59d6402ba7 SkMultiPictureDocument: don't rely on SkPicture::cullRect
SkPicture::cullRect() is not guaranteed to be the same as the
bounds passed to SkPictureRecorder::beginRecording().

Review-Url: https://codereview.chromium.org/2067473003
2016-06-14 11:06:37 -07:00
bsalomon
4999616c3a Remove command buffer sample app support.
This hasn't compiled for months. We are deemphasizing SampleApp in favor of viewer. Windowed command buffer is not currently something we currently plan to maintain.

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2061233002

Review-Url: https://codereview.chromium.org/2061233002
2016-06-14 09:43:52 -07:00
bsalomon
bb9c4e411d Store GLSL max samplers using uint32_t rather than uint8_t
TBR=egdaniel@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2061123003

Review-Url: https://codereview.chromium.org/2061123003
2016-06-14 09:32:41 -07:00
jvanverth
1d4453efd1 Another linux Vulkan fix
BUG=skia:
TBR=egdaniel@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069443003

Review-Url: https://codereview.chromium.org/2069443003
2016-06-14 09:01:33 -07:00
jvanverth
7378ac8e1e Fix linux compile error
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069633002
TBR=egdaniel@google.com

Review-Url: https://codereview.chromium.org/2069633002
2016-06-14 08:32:44 -07:00
brianosman
d76fcda961 If we fail to create a window surface with sRGB, try again without.
Fixes crash when switching to sRGB mode on Nexus 9, among others.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066743003

Review-Url: https://codereview.chromium.org/2066743003
2016-06-14 08:23:48 -07:00
brianosman
0bbc3713de Fix compile error (uninitialized variable use)
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
2016-06-14 04:53:09 -07:00
liyuqian
401cf48631 Quickly fix 0f to 0.0f
TBR=egdaniel@google.com

So Visual Studio won't complain.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2064863002

Review-Url: https://codereview.chromium.org/2064863002
2016-06-13 14:38:35 -07:00
jvanverth
6b6ffc4ab6 Create free list heap for suballocation
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2029763002

Review-Url: https://codereview.chromium.org/2029763002
2016-06-13 14:28:07 -07:00
liyuqian
d06693d908 Quickly fix the double to SkScalar issue
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2060823004

Review-Url: https://codereview.chromium.org/2060823004
2016-06-13 13:25:52 -07:00
liyuqian
6f163d2943 Display JPGs in Viewer with Split Screen and ColorSpaceXform
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2058753002

Review-Url: https://codereview.chromium.org/2058753002
2016-06-13 12:26:45 -07:00
bsalomon
d490708198 Move create_image_large in ImageTest.cpp inside #if SK_SUPPORT_GPU
TBR=egdaniel@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2062943002

Review-Url: https://codereview.chromium.org/2062943002
2016-06-13 12:13:03 -07:00
mtklein
12386d591c Revert of Clean up two unlaunched SSE 4.1 8888 blits. (patchset #1 id:1 of https://codereview.chromium.org/2062853002/ )
Reason for revert:
Breaks a couple Google3 goldens.  I need to rebaseline google3 with -DSK_SUPPORT_LEGACY_X86_BLITS first, then reland this.

Original issue's description:
> Clean up two unlaunched SSE 4.1 8888 blits.
>
> This code was running on our bots but never in Chrome.
> That's a bad state to be in.
>
> My plan here use to be to redesign how our 8888 blits worked in SSE 4.1, mainly
> for perfect correctness but also for speed, then to spread what I learned there
> to SSE2, AVX+, and NEON.
>
> I have since lost interest in changing any aspect of how our legacy 8888 blits
> work.  There's not much point in making them a bit or two more correct when the
> math is fundamentally wrong.
>
> This will cause many diffs in Gold, none perceptible.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2062853002
> CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/6e472093009bf2fc4a8e53010b51040efcb71213

TBR=reed@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/2066453003
2016-06-13 11:55:57 -07:00
egdaniel
f533f116e6 Revert of Add samples to Viewer. (patchset #4 id:60001 of https://codereview.chromium.org/2056343004/ )
Reason for revert:
breaking on android compile

Original issue's description:
> Add samples to Viewer.
>
> This adds support with animation, assuming the sample has
> implemented onAnimate. Event handling has not been
> implemented.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2056343004
>
> Committed: https://skia.googlesource.com/skia/+/76963e73704a42a18c29d6fbdcccb566e5c67658

TBR=bsalomon@google.com,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/2063883002
2016-06-13 11:30:10 -07:00
mtklein
f8f9c07c28 Revert of Update typeface serialization style. (patchset #3 id:40001 of https://codereview.chromium.org/2030683002/ )
Reason for revert:
serialize-8888 broken for typefacestyles on Mac.  (Bold weighting goes missing.)

Original issue's description:
> Update typeface serialization style.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2030683002
>
> Committed: https://skia.googlesource.com/skia/+/7ae1c72e593823e6e300e4199558555765bcec17

TBR=reed@google.com,bungeman@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2067583002
2016-06-13 11:27:55 -07:00
msarett
be36d59e66 Fix SkImage::asLegacyBitmap() to respect color space info
BUG=skia:5428
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2061783002

Review-Url: https://codereview.chromium.org/2061783002
2016-06-13 11:25:03 -07:00
ericrk
b4da01d8f7 Add prescale option to deferred params
Currently, Skia always uploads GPU textures at full resolution. This
change allows us to pass a pre-scale mip level to the
deferred texture image logic, which causes us to pre-scale the image
to the given mip level, and upload that mip level instead of the full
image.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2007113008

Review-Url: https://codereview.chromium.org/2007113008
2016-06-13 11:18:14 -07:00
mtklein
6e47209300 Clean up two unlaunched SSE 4.1 8888 blits.
This code was running on our bots but never in Chrome.
That's a bad state to be in.

My plan here use to be to redesign how our 8888 blits worked in SSE 4.1, mainly
for perfect correctness but also for speed, then to spread what I learned there
to SSE2, AVX+, and NEON.

I have since lost interest in changing any aspect of how our legacy 8888 blits
work.  There's not much point in making them a bit or two more correct when the
math is fundamentally wrong.

This will cause many diffs in Gold, none perceptible.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2062853002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/2062853002
2016-06-13 10:48:06 -07:00
bungeman
7ae1c72e59 Update typeface serialization style.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2030683002

Review-Url: https://codereview.chromium.org/2030683002
2016-06-13 10:35:05 -07:00
bsalomon
398e3f4b9f Add control over whether lines are special cased in SkDashPath. Disable when called from GrShape.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055253002

Review-Url: https://codereview.chromium.org/2055253002
2016-06-13 10:22:48 -07:00
ethannicholas
2ec06c9b1c skiaserve no longer crashes when no X server is present
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2059263002

Review-Url: https://codereview.chromium.org/2059263002
2016-06-13 10:20:52 -07:00
jvanverth
76963e7370 Add samples to Viewer.
This adds support with animation, assuming the sample has
implemented onAnimate. Event handling has not been
implemented.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2056343004

Review-Url: https://codereview.chromium.org/2056343004
2016-06-13 09:31:27 -07:00
brianosman
fe19987e54 Better (?) interface for controlling sRGB-ness of mipmaps on GrTexture
Switch to new SkSourceGammaTreatment type. Move to a separate setter,
rather than an optional argument to dirty. Set the flag correctly after
uploading CPU-built mips.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2058143002

Review-Url: https://codereview.chromium.org/2058143002
2016-06-13 07:59:48 -07:00
brianosman
25d57db234 Request an sRGB FBO0 on Android. Fixes sRGB GL mode.
Tried to comment my logic, but it's totally possible that we run on some
device where this doesn't work. From a strict reading of the relevant
specs, what I'm doing shouldn't work on the Nexus 5X, but it's necessary
to get correct results.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054223002

Review-Url: https://codereview.chromium.org/2054223002
2016-06-13 07:49:07 -07:00
update-skps
d2ebe49e1f Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2065433003

Review-Url: https://codereview.chromium.org/2065433003
2016-06-13 04:10:29 -07:00
reed
3cc37d3db3 tweak mipmap_srgb gm to use integer coordinates
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2061553002

TBR=

Review-Url: https://codereview.chromium.org/2061553002
2016-06-11 04:48:12 -07:00
bsalomon
cadb5a24c2 Make large array of GrShapes in test code heap allocated
TBR=mtklein@chormium.org
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2058343002

Review-Url: https://codereview.chromium.org/2058343002
2016-06-10 18:28:06 -07:00
csmartdalton
2b5f2cbf0d Move multisampleDisableSupport into GrCaps
Non-platform code needs this information in order to make rendering
decisions.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2062443002

Review-Url: https://codereview.chromium.org/2062443002
2016-06-10 14:06:32 -07:00
mtklein
f10637f279 Type-erase SkAutoMutexAcquire and SkAutoExclusive.
This is purely for convenience, to not need to write the lock type
in the guard anymore.  This should all inline away.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055023003

Review-Url: https://codereview.chromium.org/2055023003
2016-06-10 13:56:35 -07:00
reed
8151103535 fix non-square stroke rects (non-aa)
fiddle showing bug: https://fiddle.skia.org/c/a21ecf5e33da84f52eba26e8c2f3d280

BUG=skia:5408
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2060543002

Review-Url: https://codereview.chromium.org/2060543002
2016-06-10 13:21:07 -07:00
herb
7df9e4a87d Make SkBlitter hierarchy explicit about what needs to be implemented.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2053823002

Review-Url: https://codereview.chromium.org/2053823002
2016-06-10 13:01:27 -07:00
kjlubick
a233620f9c Remove shaderc cmake compiling
It is no longer needed as of https://skia.googlesource.com/skia/+/b7b4293524e0c1d4c1635c4710aceafaca47b313

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2060503002

Review-Url: https://codereview.chromium.org/2060503002
2016-06-10 12:54:37 -07:00
bungeman
57c948251a Implement SkFontMgr_Custom::onCreateFromFontData.
This fixes serialization issues. We could create a non-default gx
typeface, but not deserialize it correctly.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2057293002

Review-Url: https://codereview.chromium.org/2057293002
2016-06-10 12:43:17 -07:00
csmartdalton
656dbe4c71 Fix GrDrawContextPriv::stencilRect
Updates stencilRect to not call getFillRectBatch. This method can
return a batch that uses coverage AA, which isn't appropriate for
stencil draws.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2057613003

Review-Url: https://codereview.chromium.org/2057613003
2016-06-10 12:32:58 -07:00
bsalomon
687d9d2ecc Extend inverse_paths GM to test dashing
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2057213002

Review-Url: https://codereview.chromium.org/2057213002
2016-06-10 12:09:59 -07:00
kjlubick
b7b4293524 Create .gyp rules for shaderc libraries
To build shaderc, gyp used to punt to cmake, which did not work well on the bots and I couldn't find any way to pipe the variables into cmake which would have made it happy.

So, I wrote a gyp file for shaderc and its dependencies.  Nothing super complicated (thank goodness), except for the files that spirv-tools needed generated.

BUG=skia:5186
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2047833003

Review-Url: https://codereview.chromium.org/2047833003
2016-06-10 12:07:50 -07:00
reed
6644d9353f respect srgb gamma when building mips
Proposed policy:
- If the target is *legacy* (e.g. L32/PMColor) ignore gamma
- If the target is S32/F16 respect gamma

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2029373004

Review-Url: https://codereview.chromium.org/2029373004
2016-06-10 11:41:47 -07:00