History log of /external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bae6f6c3ec927bc1f87cd4c13fec0b52e5677c23 22-Apr-2015 cdalton <cdalton@nvidia.com> Add tokens and entry points for KHR_blend_equation_advanced

Also adds glBlendEquation, which the extension interacts with, to the
core of GrGLInterface. Validation of this function is temporarily
disabled until Chrome hooks it up.

BUG=skia:

Review URL: https://codereview.chromium.org/1039693004
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
2575f317d3fa977676279097332955c20ad46044 21-Apr-2015 tomhudson <tomhudson@google.com> Revert of Add tokens and entry points for KHR_blend_equation_advanced (patchset #3 id:40001 of https://codereview.chromium.org/1039693004/)

Reason for revert:
We're getting repeated crashes since this CL landed when we try to evaluate a roll into Chrome on our bots. (https://uberchromegw.corp.google.com/i/client.skia/builders/Linux%20Tests/builds/1902)

Our initial reflex is to put a #if 0 around this code (just like the immediately following lines 334-338 in GrGLInterface.cpp), but the error isn't what the GPU team expected to see if that was all we needed, so we're reverting now and asking you to resubmit tomorrow after running more thorough tests.

Original issue's description:
> Add tokens and entry points for KHR_blend_equation_advanced
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/8e578859f80b46a63144add215955221017d3609

TBR=markkilgard@gmail.com,bsalomon@google.com,cdalton@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1101593002
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
8e578859f80b46a63144add215955221017d3609 21-Apr-2015 cdalton <cdalton@nvidia.com> Add tokens and entry points for KHR_blend_equation_advanced

BUG=skia:

Review URL: https://codereview.chromium.org/1039693004
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
fd4167ddf12ea723b828462ec1507acebdef5776 21-Apr-2015 cdalton <cdalton@nvidia.com> Import glTextureBarrier

BUG=skia:

Review URL: https://codereview.chromium.org/1090163002
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
08b4d29a0a29badc15129c9bc7ee8352bc75278d 01-Apr-2015 vbuzinov <vbuzinov@nvidia.com> GrGLInterface: Add support for NV_framebuffer_mixed_samples

Import glCoverageModulation if NV_framebuffer_mixed samples
is available

BUG=skia:3177

Review URL: https://codereview.chromium.org/993363002
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
ee64d6ef49fbb63e0fc7934334c5ae5e900f5336 03-Dec-2014 bsalomon <bsalomon@google.com> Add glGetShaderPrecisionFormat

Review URL: https://codereview.chromium.org/778703003
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
612e92680b13fa184965fd8fc7d573fc5e394ef8 24-Nov-2014 tomhudson <tomhudson@chromium.org> Revert of Revert of Add gpu support for Apple specific 'Vertex Arrays' functions (patchset #1 id:1 of https://codereview.chromium.org/750973003/)

Reason for revert:
Original patchset seems to have been exonerated. Crash was mac-specific, but appears to be triggered by a non-mac-specific change (https://codereview.chromium.org/747043004/); suspecting driver bug?

Original issue's description:
> Revert of Add gpu support for Apple specific 'Vertex Arrays' functions (patchset #2 id:20001 of https://codereview.chromium.org/754653002/)
>
> Reason for revert:
> Suspected in DM crashes, e.g.
>
> 2033 tasks left 344M peak 843ms tabl-cuteoverload_skp
> Signal 11:
> _sigtramp (+0x1a)
> create_surface(CanvasConfig const&, GrContext*) (+0x1b2)
> test_WritePixels(skiatest::Reporter*, GrContextFactory*) (+0x8d4)
> skiatest::WritePixelsClass::onRun(skiatest::Reporter*) (+0x21)
> skiatest::Test::run() (+0x7c)
> DM::GpuTestTask::draw(GrContextFactory*) (+0x8c)
> DM::GpuTask::run(GrContextFactory*) (+0xa6)
> DM::TaskRunner::wait() (+0x7f)
> dm_main() (+0x33f)
> main (+0x27)
>
>
> On all MacMini platforms (the following URL with -Mac{10.6,10.7,10.8}- and -{Debug,Release}):
>
> http://build.chromium.org/p/client.skia/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Debug
>
>
> Original issue's description:
> > Add gpu support for Apple specific 'Vertex Arrays' functions
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/af000f469e1b0153ce445c96ca3d20e6d12224cc
>
> TBR=bsalomon@google.com,paraboul@gmail.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/55fe3d7748b873e362edc4e6a43bd77914ed25fb

TBR=bsalomon@google.com,paraboul@gmail.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/734633005
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
55fe3d7748b873e362edc4e6a43bd77914ed25fb 24-Nov-2014 tomhudson <tomhudson@chromium.org> Revert of Add gpu support for Apple specific 'Vertex Arrays' functions (patchset #2 id:20001 of https://codereview.chromium.org/754653002/)

Reason for revert:
Suspected in DM crashes, e.g.

2033 tasks left 344M peak 843ms tabl-cuteoverload_skp
Signal 11:
_sigtramp (+0x1a)
create_surface(CanvasConfig const&, GrContext*) (+0x1b2)
test_WritePixels(skiatest::Reporter*, GrContextFactory*) (+0x8d4)
skiatest::WritePixelsClass::onRun(skiatest::Reporter*) (+0x21)
skiatest::Test::run() (+0x7c)
DM::GpuTestTask::draw(GrContextFactory*) (+0x8c)
DM::GpuTask::run(GrContextFactory*) (+0xa6)
DM::TaskRunner::wait() (+0x7f)
dm_main() (+0x33f)
main (+0x27)

On all MacMini platforms (the following URL with -Mac{10.6,10.7,10.8}- and -{Debug,Release}):

http://build.chromium.org/p/client.skia/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Debug

Original issue's description:
> Add gpu support for Apple specific 'Vertex Arrays' functions
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/af000f469e1b0153ce445c96ca3d20e6d12224cc

TBR=bsalomon@google.com,paraboul@gmail.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/750973003
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
af000f469e1b0153ce445c96ca3d20e6d12224cc 24-Nov-2014 paraboul <paraboul@gmail.com> Add gpu support for Apple specific 'Vertex Arrays' functions

BUG=skia:

Review URL: https://codereview.chromium.org/754653002
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
27c1521ccf0f833affa1182d6d9bc5e31b3af351 25-Oct-2014 egdaniel <egdaniel@google.com> Add gpu support for glVertexAttrb1f, 2fv, and 3fv

BUG=skia:

Review URL: https://codereview.chromium.org/662583003
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
149b3ec2b1ccaf00e40bf296d2a3394852d73fe9 17-Sep-2014 cdalton <cdalton@nvidia.com> Adds glMemoryGlyphIndexArrayNV to the GrGLInterface and begins
detecting support for this method in GrGLPathRendering.

BUG=skia:2939
R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/570733002
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
a721c8167222a0b2b442a00052104b2a78ab93e5 26-Aug-2014 bsalomon <bsalomon@google.com> Remove reliance on linked in GL functions for assembling GLES interfaces.

Make Android pull in gl2.h directly to workaround broken eglGetProcAddress for unextended GLES2 functions.

Use interface assembler for angle and iOS.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/500153002
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
c7103a104fdc7150b4e3c0d3efc42735ad359616 11-Aug-2014 cdalton <cdalton@nvidia.com> Wrap NV_path_rendering API with GrGLPathRendering

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.

BUG=skia:
R=bungeman@google.com, bsalomon@google.com, kkinnunen@nvidia.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/444223002
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
760ba8d39293cf60a516d03a2acd8492f9f5effa 06-Aug-2014 bungeman <bungeman@google.com> Revert "Adds a GrGLPathRendering class that wraps the NV_path_rendering"

This reverts commit 5672da0fa54f31c9727568e9dd5fe82c6e1585bc.

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/

Original issue's 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
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
5672da0fa54f31c9727568e9dd5fe82c6e1585bc 04-Aug-2014 cdalton <cdalton@nvidia.com> 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.

R=bsalomon@google.com, kkinnunen@nvidia.com, markkilgard@gmail.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/437473002
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
c8f520466701a14cf2fb86d3f2d3c70983cb4518 30-Jul-2014 cdalton <cdalton@nvidia.com> Incorporate glStencilThenCover* nvpr methods

Adds the glStencilThenCover* nvpr methods to GrGLInterface and starts
using them. When drawing multible paths, this will make it so we only
have to send the index/transform data once. It will also allow the
driver to save time internally.

The glStencilThenCover* methods are a newer addition, so they aren't
available on every driver. In the event that they are not present, we
emulate them using the existing glStencil*/glCover* methods.

BUG=skia:
R=markkilgard@gmail.com, bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/423173004
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
8dd90cb1fd541b9a2a264725e3dfeae736c91e22 17-Jul-2014 cdalton <cdalton@nvidia.com> Add IsPath to GrGLInterface

This will be used by path ranges.

BUG=skia:
R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/403563002
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
32b9a3b02ed6b8bab4a25b6cb8853f5bea4b87ba 03-Jul-2014 kkinnunen <kkinnunen@nvidia.com> Add functions to support NV_path_rendering in OpenGL ES

Add OpenGL ES extension functions needed to support NV_path_rendering in OpenGL
ES.

The added glProgramPathFragmentInputGenNV call is defined in NV_path_rendering
revision 30, similar to following:

Append to the end of the "Shader Inputs" subsection of Section 3.12.2
"Shader Execution":

The command

void ProgramPathFragmentInputGenNV(uint program,
int location,
enum genMode,
int components,
const float *coeffs);

controls how a user-defined (non-built-in) fragment input of a
GLSL program object is computed for fragment shading operations that
occur as a result of CoverFillPathNV or CoverStrokePathNV.

/program/ names a GLSL program object. If /program/ has not been
successfully linked, the error INVALID_OPERATION is generated.

The given fragment input generation state is loaded into the fragment
input variable location identified by /location/. This location
is a value returned either by GetProgramResourceLocation with a
/programInterface/ of FRAGMENT_INPUT_NV and a given fragment shader
input variable name or by GetProgramResourceiv with FRAGMENT_INPUT_NV
for the /programInterface/ and LOCATION for the property for a given
fragment input resource index.

....

glProgramPathFragmentInputGenNV will be used instead of glPathTexGen,
because the latter depends on fixed function pipeline that is not
exposed in ES.

Also add glGetProgramResourceLocation from OpenGL 4.3 or
ARB_program_interface_query.

Also add FRAGMENT_INPUT define to be used with glGetProgramResourceLocation.

The added functions are not used yet, but they're needed when implementing
NV_path_rendering support for OpenGL ES. They can also be used on OpenGL.

Remove uncalled NV_path_rendering functions, so they do not cause confusion
or take space in the interface definition. The ones that are later used
can be re-added when needed.

Remove definitions NV_path_rendering that are for NV_path_rendering function
parameters that are not used. The ones that are later used
can be re-added when needed.

Committed: https://skia.googlesource.com/skia/+/4a995dfff2ecf91e8bf999d77e3218cec596232c

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/345723002
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
c986b1fd284a63413c3bd2be8acb6dcd5c7e7532 23-Jun-2014 rmistry <rmistry@google.com> Revert of Add functions to support NV_path_rendering in OpenGL ES (https://codereview.chromium.org/345723002/)

Reason for revert:
Will have to unfortunately revert this CL in order to revert https://codereview.chromium.org/319043005/

Original issue's description:
> Add functions to support NV_path_rendering in OpenGL ES
>
> Add OpenGL ES extension functions needed to support NV_path_rendering in OpenGL
> ES.
>
> The added glProgramPathFragmentInputGenNV call is defined in NV_path_rendering
> revision 30, similar to following:
>
> Append to the end of the "Shader Inputs" subsection of Section 3.12.2
> "Shader Execution":
>
> The command
>
> void ProgramPathFragmentInputGenNV(uint program,
> int location,
> enum genMode,
> int components,
> const float *coeffs);
>
> controls how a user-defined (non-built-in) fragment input of a
> GLSL program object is computed for fragment shading operations that
> occur as a result of CoverFillPathNV or CoverStrokePathNV.
>
> /program/ names a GLSL program object. If /program/ has not been
> successfully linked, the error INVALID_OPERATION is generated.
>
> The given fragment input generation state is loaded into the fragment
> input variable location identified by /location/. This location
> is a value returned either by GetProgramResourceLocation with a
> /programInterface/ of FRAGMENT_INPUT_NV and a given fragment shader
> input variable name or by GetProgramResourceiv with FRAGMENT_INPUT_NV
> for the /programInterface/ and LOCATION for the property for a given
> fragment input resource index.
>
> ....
>
> glProgramPathFragmentInputGenNV will be used instead of glPathTexGen,
> because the latter depends on fixed function pipeline that is not
> exposed in ES.
>
> Also add glGetProgramResourceLocation from OpenGL 4.3 or
> ARB_program_interface_query.
>
> Also add FRAGMENT_INPUT define to be used with glGetProgramResourceLocation.
>
> The added functions are not used yet, but they're needed when implementing
> NV_path_rendering support for OpenGL ES. They can also be used on OpenGL.
>
> Remove uncalled NV_path_rendering functions, so they do not cause confusion
> or take space in the interface definition. The ones that are later used
> can be re-added when needed.
>
> Remove definitions NV_path_rendering that are for NV_path_rendering function
> parameters that are not used. The ones that are later used
> can be re-added when needed.
>
> Committed: https://skia.googlesource.com/skia/+/4a995dfff2ecf91e8bf999d77e3218cec596232c

R=bsalomon@google.com, kkinnunen@nvidia.com
TBR=bsalomon@google.com, kkinnunen@nvidia.com
NOTREECHECKS=true
NOTRY=true

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/349983002
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
4a995dfff2ecf91e8bf999d77e3218cec596232c 23-Jun-2014 kkinnunen <kkinnunen@nvidia.com> Add functions to support NV_path_rendering in OpenGL ES

Add OpenGL ES extension functions needed to support NV_path_rendering in OpenGL
ES.

The added glProgramPathFragmentInputGenNV call is defined in NV_path_rendering
revision 30, similar to following:

Append to the end of the "Shader Inputs" subsection of Section 3.12.2
"Shader Execution":

The command

void ProgramPathFragmentInputGenNV(uint program,
int location,
enum genMode,
int components,
const float *coeffs);

controls how a user-defined (non-built-in) fragment input of a
GLSL program object is computed for fragment shading operations that
occur as a result of CoverFillPathNV or CoverStrokePathNV.

/program/ names a GLSL program object. If /program/ has not been
successfully linked, the error INVALID_OPERATION is generated.

The given fragment input generation state is loaded into the fragment
input variable location identified by /location/. This location
is a value returned either by GetProgramResourceLocation with a
/programInterface/ of FRAGMENT_INPUT_NV and a given fragment shader
input variable name or by GetProgramResourceiv with FRAGMENT_INPUT_NV
for the /programInterface/ and LOCATION for the property for a given
fragment input resource index.

....

glProgramPathFragmentInputGenNV will be used instead of glPathTexGen,
because the latter depends on fixed function pipeline that is not
exposed in ES.

Also add glGetProgramResourceLocation from OpenGL 4.3 or
ARB_program_interface_query.

Also add FRAGMENT_INPUT define to be used with glGetProgramResourceLocation.

The added functions are not used yet, but they're needed when implementing
NV_path_rendering support for OpenGL ES. They can also be used on OpenGL.

Remove uncalled NV_path_rendering functions, so they do not cause confusion
or take space in the interface definition. The ones that are later used
can be re-added when needed.

Remove definitions NV_path_rendering that are for NV_path_rendering function
parameters that are not used. The ones that are later used
can be re-added when needed.

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/345723002
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
37d20f75320e8182f4cdbce5f3d59a339f915e05 11-Jun-2014 krajcevski <krajcevski@google.com> Add support for glCompressedTexSubImage2D

R=bsalomon@google.com, robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/329213002
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
160b478eed1dd4924a86a87fd60c91139e08ff71 05-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add support for glMapBufferRange. Use glMapBufferRange and glMapBufferSubData.

BUG=skia:2402

Committed: http://code.google.com/p/skia/source/detail?r=14533

R=robertphillips@google.com, djsollen@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/243413002

git-svn-id: http://skia.googlecode.com/svn/trunk@14564 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
53b614b567c2213dfe3835f14145ab60e265c76e 02-May-2014 djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Add support for glMapBufferRange. Use glMapBufferRange and glMapBufferSubData. (https://codereview.chromium.org/243413002/)

Reason for revert:
This is firing an assert on many of the Android debug bots

Original issue's description:
> Add support for glMapBufferRange. Use glMapBufferRange and glMapBufferSubData.
>
> BUG=skia:2402
>
> Committed: http://code.google.com/p/skia/source/detail?r=14533

git-svn-id: http://skia.googlecode.com/svn/trunk@14541 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
f9deb8a15de8061863b38839850207f63a8e47e4 02-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add support for glMapBufferRange. Use glMapBufferRange and glMapBufferSubData.

BUG=skia:2402
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/243413002

git-svn-id: http://skia.googlecode.com/svn/trunk@14533 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
f4e67e3e5e5017284300a61e7bb046723a44b0cf 30-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fail to create GrContext when we get a NULL for a GL/GLSL version string

BUG=368107
R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/254083002

git-svn-id: http://skia.googlecode.com/svn/trunk@14452 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp
9add5dc33f10ea6c48268dab448b1df0fc96daaa 29-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Move GrGLInterface function ptr setup into a common function for all OpenGL GrGLInterface factories (but not GLES yet).

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/254713006

git-svn-id: http://skia.googlecode.com/svn/trunk@14444 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLAssembleInterface.cpp