Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Issue 437473002: Wrap NV_path_rendering API with GrGLPathRendering (Closed)

Created:
6 years, 4 months ago by Chris Dalton
Modified:
6 years, 4 months ago
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Project:
skia
Visibility:
Public.

Description

Adds a GrGLPathRendering class that wraps the NV_path_rendering extension and manages its various API versions. It also provides backup implementations when certain NVpr methods from later API versions are not present on the current system. Committed: https://skia.googlesource.com/skia/+/5672da0fa54f31c9727568e9dd5fe82c6e1585bc

Patch Set 1 #

Total comments: 5

Patch Set 2 : GrGLPathRendering class #

Patch Set 3 : Clean up GrGLPathRendering #

Total comments: 1

Patch Set 4 : Fix builds #

Patch Set 5 : Fix builds more #

Unified diffs Side-by-side diffs Delta from patch set Stats (+486 lines, -238 lines) Patch
M gyp/gpu.gypi View 1 1 chunk +2 lines, -0 lines 0 comments Download
M include/gpu/gl/GrGLFunctions.h View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M include/gpu/gl/GrGLInterface.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M src/gpu/gl/GrGLAssembleInterface.cpp View 1 2 3 chunks +2 lines, -111 lines 0 comments Download
M src/gpu/gl/GrGLInterface.cpp View 1 2 2 chunks +19 lines, -10 lines 0 comments Download
M src/gpu/gl/GrGLPath.h View 1 2 chunks +1 line, -2 lines 0 comments Download
M src/gpu/gl/GrGLPath.cpp View 1 2 4 chunks +13 lines, -21 lines 0 comments Download
M src/gpu/gl/GrGLPathRange.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/gpu/gl/GrGLPathRange.cpp View 1 2 3 chunks +6 lines, -15 lines 0 comments Download
A src/gpu/gl/GrGLPathRendering.h View 1 2 3 4 1 chunk +108 lines, -0 lines 0 comments Download
A src/gpu/gl/GrGLPathRendering.cpp View 1 2 1 chunk +281 lines, -0 lines 0 comments Download
M src/gpu/gl/GrGpuGL.h View 1 4 chunks +7 lines, -7 lines 0 comments Download
M src/gpu/gl/GrGpuGL.cpp View 1 2 10 chunks +40 lines, -68 lines 0 comments Download
M src/gpu/gl/GrGpuGL_program.cpp View 1 2 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 23 (0 generated)
Chris Dalton
6 years, 4 months ago (2014-07-31 01:32:19 UTC) #1
Kimmo Kinnunen
I'm not a reviewer, but adding version specific checks seems a bit inelegant, at least ...
6 years, 4 months ago (2014-07-31 08:58:50 UTC) #2
Kimmo Kinnunen
On 2014/07/31 08:58:50, kkinnunen wrote: > I'm not a reviewer, but adding version specific checks ...
6 years, 4 months ago (2014-07-31 09:37:44 UTC) #3
bsalomon
On 2014/07/31 09:37:44, kkinnunen wrote: > On 2014/07/31 08:58:50, kkinnunen wrote: > > I'm not ...
6 years, 4 months ago (2014-07-31 14:02:28 UTC) #4
Mark Kilgard
LGTM, I have no problems with the actual code my only quibbles are with the ...
6 years, 4 months ago (2014-07-31 19:02:18 UTC) #5
Chris Dalton
After taking Kimmo's comments into consideration and discussing this more with Mark and Brian, a ...
6 years, 4 months ago (2014-08-01 00:59:59 UTC) #6
Kimmo Kinnunen
On 2014/08/01 00:59:59, Chris Dalton wrote: > Brian suggested encapsulating all the nvpr calls checks ...
6 years, 4 months ago (2014-08-01 12:07:35 UTC) #7
Kimmo Kinnunen
On 2014/08/01 12:07:35, kkinnunen wrote: > That class might be quite redundant abstraction... And even ...
6 years, 4 months ago (2014-08-01 12:14:24 UTC) #8
Chris Dalton
The code in genPaths/deletePaths that manages a client-local pool of path names will always be ...
6 years, 4 months ago (2014-08-01 18:31:18 UTC) #9
Mark Kilgard
LGTM This is a very nice structure. Good work Chris. This idea would allow us ...
6 years, 4 months ago (2014-08-04 17:08:53 UTC) #10
bsalomon
lgtm, I really like encapsulating all the PR code in the helper class hierarchy.
6 years, 4 months ago (2014-08-04 17:41:41 UTC) #11
Chris Dalton
The CQ bit was checked by cdalton@nvidia.com
6 years, 4 months ago (2014-08-04 17:44:45 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/cdalton@nvidia.com/437473002/40001
6 years, 4 months ago (2014-08-04 17:45:50 UTC) #13
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: Build-Mac10.8-Clang-x86_64-Release-Trybot on tryserver.skia ...
6 years, 4 months ago (2014-08-04 17:57:22 UTC) #14
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 4 months ago (2014-08-04 17:59:21 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: Build-Ubuntu13.10-Clang-x86_64-Debug-Trybot on tryserver.skia (http://108.170.220.76:10117/builders/Build-Ubuntu13.10-Clang-x86_64-Debug-Trybot/builds/992)
6 years, 4 months ago (2014-08-04 17:59:22 UTC) #16
Chris Dalton
The CQ bit was checked by cdalton@nvidia.com
6 years, 4 months ago (2014-08-04 18:00:10 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/cdalton@nvidia.com/437473002/60001
6 years, 4 months ago (2014-08-04 18:00:41 UTC) #18
Chris Dalton
The CQ bit was checked by cdalton@nvidia.com
6 years, 4 months ago (2014-08-04 18:07:46 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/cdalton@nvidia.com/437473002/80001
6 years, 4 months ago (2014-08-04 18:08:00 UTC) #20
commit-bot: I haz the power
Change committed as 5672da0fa54f31c9727568e9dd5fe82c6e1585bc
6 years, 4 months ago (2014-08-04 18:19:17 UTC) #21
bungeman-skia
A revert of this CL has been created in https://codereview.chromium.org/443133003/ by bungeman@google.com. The reason for ...
6 years, 4 months ago (2014-08-06 14:48:01 UTC) #22
bsalomon
6 years, 4 months ago (2014-08-06 16:36:53 UTC) #23
Message was sent while issue was closed.
On 2014/08/06 14:48:01, bungeman1 wrote:
> A revert of this CL has been created in
> https://codereview.chromium.org/443133003/ by mailto:bungeman@google.com.
> 
> The reason for reverting is: This appears to be blocking the Skia roll by
> causing failures in the blink layout tests on the canvas-lost-gpu-context.html
> test.
> 
> The bisect for this can be seen at:
> 
> https://codereview.chromium.org/449473002/.


This also repros in dm when run with --abandonGpuContext

Runs of dm with this flag are slated to be added to the valgrind and MSAN bots
soonish.


To repro the layout test from a Chromium checkout:

ninja -C out/Debug blink_tests

./webkit/tools/layout_tests/run_webkit_tests.sh
virtual/gpu/fast/canvas/canvas-lost-gpu-context.html --debug

Here is the stack trace:

[6:6:0806/122732:2624978403864:FATAL:SkTemplates.h(119)] SK_CRASH
#0 0x00000088a8ae base::debug::StackTrace::StackTrace()
#1 0x0000007ab125 logging::LogMessage::~LogMessage()
#2 0x00000157e050 SkDebugf_FileLine()
#3 0x0000013982fa SkAutoTDelete<>::operator->()
#4 0x00000139c6cb GrGpuGL::abandonResources()
#5 0x000001306c64 GrContext::abandonContext()
#6 0x000006593665 GrContext::contextDestroyed()
#7 0x00000659314b webkit::gpu::GrContextForWebGraphicsContext3D::OnLostContext()
#8 0x0000055c3b4d content::ContextProviderCommandBuffer::OnLostContext()
#9 0x0000055c4d89
content::ContextProviderCommandBuffer::LostContextCallbackProxy::onContextLost()
#10 0x0000055f4d9b
content::WebGraphicsContext3DCommandBufferImpl::OnGpuChannelLost()
#11 0x0000055f7a12 base::internal::RunnableAdapter<>::Run()
#12 0x0000055f7993 base::internal::InvokeHelper<>::MakeItSo()
#13 0x0000055f7945 base::internal::Invoker<>::Run()
#14 0x00000049153e base::Callback<>::Run()
#15 0x0000055b12ca content::CommandBufferProxyImpl::OnDestroyed()
#16 0x0000055bc496 DispatchToMethod<>()
#17 0x0000055b4bc7 GpuCommandBufferMsg_Destroyed::Dispatch<>()
#18 0x0000055b0ed1 content::CommandBufferProxyImpl::OnMessageReceived()
#19 0x0000055b164f content::CommandBufferProxyImpl::OnMessageReceived()
#20 0x0000055de2ca base::internal::RunnableAdapter<>::Run()
#21 0x0000055de228 base::internal::InvokeHelper<>::MakeItSo()
#22 0x0000055de1bc base::internal::Invoker<>::Run()
#23 0x00000049153e base::Callback<>::Run()
#24 0x0000007b5df8 base::MessageLoop::RunTask()
#25 0x0000007b611b base::MessageLoop::DeferOrRunPendingTask()
#26 0x0000007b6345 base::MessageLoop::DoWork()
#27 0x0000007c8dc8 base::MessagePumpDefault::Run()
#28 0x0000007b5730 base::MessageLoop::RunHandler()
#29 0x0000007f66a2 base::RunLoop::Run()
#30 0x0000007b4fd1 base::MessageLoop::Run()
#31 0x000004d8a175 content::RendererMain()
#32 0x00000058c096 content::RunZygote()
#33 0x00000058c3c9 content::RunNamedProcessTypeMain()
#34 0x00000058ea38 content::ContentMainRunnerImpl::Run()
#35 0x00000058b8e5 content::ContentMain()
#36 0x000000478e3c main
#37 0x7f3ee163f78d __libc_start_main
#38 0x000000478d29 <unknown>

Powered by Google App Engine
This is Rietveld 408576698