Commit Graph

284 Commits

Author SHA1 Message Date
bsalomon
c01f47b759 Remove unnecessary include of gles2 header in SkANGLEGLContext.h
TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/949973002
2015-02-23 10:06:44 -08:00
bsalomon
42380174ca Use D3D11 backend for ANGLE when available.
Review URL: https://codereview.chromium.org/954453002
2015-02-23 08:57:23 -08:00
joshualitt
43466a1ade Multi-string shaders
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/1c3c2d83364ee228e0751df0e1b9c161c0ba8c1e

Review URL: https://codereview.chromium.org/929503002
2015-02-13 17:18:27 -08:00
joshualitt
b8a82f2bce Revert of Multi-string shaders (patchset #4 id:60001 of https://codereview.chromium.org/929503002/)
Reason for revert:
windows warnings

Original issue's description:
> Multi-string shaders
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/1c3c2d83364ee228e0751df0e1b9c161c0ba8c1e

TBR=bsalomon@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/924973002
2015-02-13 16:31:46 -08:00
joshualitt
1c3c2d8336 Multi-string shaders
BUG=skia:

Review URL: https://codereview.chromium.org/929503002
2015-02-13 16:23:49 -08:00
bsalomon
3740972d02 Make null GL context use callback to make current
Review URL: https://codereview.chromium.org/919783002
2015-02-11 14:19:18 -08:00
bsalomon
bb0502eec5 Support multiple null GL contexts on a thread.
This has the side effect of requiring SkNullGLContext to use the null GL interface.

It exposes SkNullGLContext and also removes null context support from SampleApp.

Review URL: https://codereview.chromium.org/916733002
2015-02-11 11:11:11 -08:00
mtklein
72c9faab45 Fix up all the easy virtual ... SK_OVERRIDE cases.
This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases.  We'll have to manually clean up the rest
over time unless I level up in regexes.

for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end

BUG=skia:

Review URL: https://codereview.chromium.org/806653007
2015-01-09 10:06:40 -08:00
bsalomon
ee64d6ef49 Add glGetShaderPrecisionFormat
Review URL: https://codereview.chromium.org/778703003
2014-12-03 10:46:08 -08:00
djsollen
e4545210c9 Cleanup GrContextFactory and make it's subclasses private
Review URL: https://codereview.chromium.org/723183002
2014-11-13 11:12:41 -08:00
mtklein
2ecf86e55e Revert of Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #1 id:1 of https://codereview.chromium.org/693933004/)
Reason for revert:
Try again with loops overflow fix landed.

Original issue's description:
> Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #2 id:20001 of https://codereview.chromium.org/704563003/)
>
> Reason for revert:
> Timing out on nvpr when drawing conics. Fix will take some thought so reverting for now.
>
> Original issue's description:
> > Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
> >
> > This brings DM and nanobench's default configs in line with GM's.
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/31f88675718966bbb7f09718b40de10c7e214739
>
> TBR=bsalomon@google.com,mtklein@google.com,mtklein@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d5cd4ee5b81b51e43be7ed13f3c0f0f6c1b3fe14

TBR=bsalomon@google.com,mtklein@chromium.org,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/685923003
2014-11-06 08:06:39 -08:00
egdaniel
d5cd4ee5b8 Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #2 id:20001 of https://codereview.chromium.org/704563003/)
Reason for revert:
Timing out on nvpr when drawing conics. Fix will take some thought so reverting for now.

Original issue's description:
> Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
>
> This brings DM and nanobench's default configs in line with GM's.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/31f88675718966bbb7f09718b40de10c7e214739

TBR=bsalomon@google.com,mtklein@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/693933004
2014-11-05 14:21:33 -08:00
mtklein
31f8867571 Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
This brings DM and nanobench's default configs in line with GM's.

BUG=skia:

Review URL: https://codereview.chromium.org/704563003
2014-11-05 12:28:26 -08:00
tfarina
38406c82b9 Cleanup: Go with SkDebugf instead of GrPrintf.
Since GrPrintf is just defined to SkDebugf, we can go with the later
directly.

BUG=None
TEST=None
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/695663003
2014-10-31 07:11:12 -07:00
joshualitt
0e602827df Working patch to remove constant attributes. This may cause some gm mismatches, I will rebaseline tonight.
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2

Committed: https://skia.googlesource.com/skia/+/95f5194abce19e8ed875f3495fd16c79a9b931b4

Review URL: https://codereview.chromium.org/678073005
2014-10-28 10:27:44 -07:00
joshualitt
98102a8f79 Revert of Patch to remove constant attributes (patchset #8 id:120002 of https://codereview.chromium.org/678073005/)
Reason for revert:
I'll checkin tonight when the tree is quieter

Original issue's description:
> Working patch to remove constant attributes.  This may cause some gm mismatches, I will rebaseline tonight.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2
>
> Committed: https://skia.googlesource.com/skia/+/95f5194abce19e8ed875f3495fd16c79a9b931b4

TBR=bsalomon@google.com,egdaniel@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/683203002
2014-10-28 09:08:35 -07:00
joshualitt
95f5194abc Working patch to remove constant attributes. This may cause some gm mismatches, I will rebaseline tonight.
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2

Review URL: https://codereview.chromium.org/678073005
2014-10-28 07:54:54 -07:00
joshualitt
9f2825f249 Revert of Patch to remove constant attributes (patchset #6 id:100001 of https://codereview.chromium.org/678073005/)
Reason for revert:
Breaks the K1

Original issue's description:
> Working patch to remove constant attributes.  This may cause some gm mismatches, I will rebaseline tonight.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2

TBR=bsalomon@google.com,egdaniel@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/679363002
2014-10-27 17:56:18 -07:00
joshualitt
84c94c0dfd Working patch to remove constant attributes. This may cause some gm mismatches, I will rebaseline tonight.
BUG=skia:

Review URL: https://codereview.chromium.org/678073005
2014-10-27 15:33:33 -07:00
egdaniel
27c1521ccf Add gpu support for glVertexAttrb1f, 2fv, and 3fv
BUG=skia:

Review URL: https://codereview.chromium.org/662583003
2014-10-24 15:00:50 -07:00
kkinnunen
30bc88ccd5 Refactor SkGLContext to be actually extendable
Refactor SkGLContext to be actually extendable. Before, non-trivial subclass
would need to destroy the GL connection upon running the destructor. However,
the base class would run GL commands in its own destructor (with destroyed GL
connection)

Refactor so that SkGLContext subclass object creation is completely done by
the factory function. If the factory function returns a non-NULL ptr, it means the context
is usable.

The destruction is done with the destructor instead of virtual function called
upon destruction. Make the destructors not to call virtual functions, for
clarity.

Remove custom 1x1 FBO setup code from the base class. It appears not to be used
anymore.

BUG=skia:2992

Review URL: https://codereview.chromium.org/640283004
2014-10-15 23:03:54 -07:00
kkinnunen
9e61bb7815 Make the Sk GL context class an abstract base class
Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before,
it depended on ifdefs to implement the platform dependent polymorphism.  Move
the logic to subclasses of the various platform implementations.

This a step to enable Skia embedders to compile dm and bench_pictures. The
concrete goal is to support running these test apps with Chromium command buffer.

With this change, Chromium can implement its own version of SkGLNativeContext
that uses command buffer, and host the implementation in its own repository.

Implements the above by renaming the SkGLContextHelper to SkGLContext and
removing the unneeded SkGLNativeContext. Also removes
SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused:
no use in Skia code, and no tests.

BUG=skia:2992

Committed: https://skia.googlesource.com/skia/+/a90ed4e83897b45d6331ee4c54e1edd4054de9a8

Review URL: https://codereview.chromium.org/630843002
2014-10-09 05:24:15 -07:00
bsalomon
10805961ce Revert of Make the Sk GL context class an abstract base class (patchset #4 id:60001 of https://codereview.chromium.org/630843002/)
Reason for revert:
nanobech failing on Android

Original issue's description:
> Make the Sk GL context class an abstract base class
>
> Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before,
> it depended on ifdefs to implement the platform dependent polymorphism.  Move
> the logic to subclasses of the various platform implementations.
>
> This a step to enable Skia embedders to compile dm and bench_pictures. The
> concrete goal is to support running these test apps with Chromium command buffer.
>
> With this change, Chromium can implement its own version of SkGLNativeContext
> that uses command buffer, and host the implementation in its own repository.
>
> Implements the above by renaming the SkGLContextHelper to SkGLContext and
> removing the unneeded SkGLNativeContext. Also removes
> SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused:
> no use in Skia code, and no tests.
>
> BUG=skia:2992
>
> Committed: https://skia.googlesource.com/skia/+/a90ed4e83897b45d6331ee4c54e1edd4054de9a8

TBR=kkinnunen@nvidia.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2992

Review URL: https://codereview.chromium.org/639793002
2014-10-08 04:45:10 -07:00
kkinnunen
a90ed4e838 Make the Sk GL context class an abstract base class
Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before,
it depended on ifdefs to implement the platform dependent polymorphism.  Move
the logic to subclasses of the various platform implementations.

This a step to enable Skia embedders to compile dm and bench_pictures. The
concrete goal is to support running these test apps with Chromium command buffer.

With this change, Chromium can implement its own version of SkGLNativeContext
that uses command buffer, and host the implementation in its own repository.

Implements the above by renaming the SkGLContextHelper to SkGLContext and
removing the unneeded SkGLNativeContext. Also removes
SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused:
no use in Skia code, and no tests.

BUG=skia:2992

Review URL: https://codereview.chromium.org/630843002
2014-10-08 04:14:24 -07:00
derekf
29dda80c01 Add support for EGL on linux
Allow setting skia_egl=1 to build skia against EGL instead of GLX on unix

Review URL: https://codereview.chromium.org/604853003
2014-10-01 10:52:52 -07:00
borenet
e33985a56d Revert "Add support for EGL on linux"
This reverts commit 1cea736c32.

Caused segfaults on all Android devices

R=bsalomon@google.com, djsollen@google.com
TBR=bsalomon, djsollen
NOTRY=true
BUG=skia:

Author: borenet@google.com

Review URL: https://codereview.chromium.org/599493003
2014-09-24 05:31:07 -07:00
derekf
1cea736c32 Add support for EGL on linux
Allow setting skia_egl=1 to build skia against EGL instead of GLX on unix

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

Author: derekf@osg.samsung.com

Review URL: https://codereview.chromium.org/543363004
2014-09-23 15:17:36 -07:00
junov
f23809101e Adding support for GL_CHROMIUM_copy_texture, part 1
Part 1 of 2. This change just adds the gl API entrypoint
so that the chromium/ganesh bindings can set it. Once
the chromium part is landed, we will add full support for
the extension

BUG=crbug.com/415100
R=bsalomon@google.com

Author: junov@chromium.org

Review URL: https://codereview.chromium.org/594663002
2014-09-23 07:30:09 -07:00
cdalton
149b3ec2b1 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
2014-09-17 09:19:18 -07:00
bsalomon
49f085dddf "NULL !=" = NULL
R=reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/544233002
2014-09-05 13:34:00 -07:00
cdalton
c7103a104f 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
2014-08-11 14:05:05 -07:00
joshualitt
bab82ed05b Pretty print of shaders
BUG=skia:
R=bsalomon@chromium.org, senorblanco@chromium.org, bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/437593004
2014-08-08 09:41:42 -07:00
joshualitt
c863ab07c2 Cleanup of context initialization
Cleanup context initialization on linux

BUG=skia:
R=bsalomon@chromium.org, bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/422323003
2014-08-07 13:48:50 -07:00
bungeman
760ba8d392 Revert "Adds a GrGLPathRendering class that wraps the NV_path_rendering"
This reverts commit 5672da0fa5.

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
2014-08-06 11:15:50 -04:00
cdalton
5672da0fa5 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
2014-08-04 11:19:11 -07:00
cdalton
c8f5204667 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
2014-07-29 15:25:51 -07:00
bsalomon
944bcf0acb Some fixes around GrContext::abandonContext:
Fix debug crash when GrResourceCache is destroyed after GrContext is abandoned while GrTextures are in the exlusive list.

Notify debug GL context that GL resources are expected to remain undeleted when context is destroyed after being abandoned.

Stop leaking program cache entries when context is abandoned.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/422323002
2014-07-29 08:01:52 -07:00
cdalton
8dd90cb1fd 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
2014-07-17 09:28:36 -07:00
kkinnunen
32b9a3b02e 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
2014-07-02 22:56:36 -07:00
bsalomon
9245b7ee76 When performing offscreen rendering on windows, attempt to use a pbuffer context.
A pbuffer context is less likely to have a blocking SwapBuffers (due to vsync).

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/336863009
2014-07-01 07:20:11 -07:00
kkinnunen
80549fcdd5 Support using OpenGL ES context on desktop
Support using OpenGL ES context on desktop for unix and Android platforms. This
is mainly useful in development.

Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
possible parameters for the flag are "gl" and "gles".

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

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/319043005
2014-06-30 06:36:31 -07:00
rmistry
05ead8afe5 Revert of Support using OpenGL ES context on desktop (https://codereview.chromium.org/319043005/)
Reason for revert:
Caused segmentation fault on many builders. Please see reverted CL's msg #21 for details.

Original issue's description:
> Support using OpenGL ES context on desktop
>
> Support using OpenGL ES context on desktop for unix and Android platforms. This
> is mainly useful in development.
>
> Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
> possible parameters for the flag are "gl" and "gles".
>
> Committed: https://skia.googlesource.com/skia/+/74fc727dc88ee24d89f88cb1709f963e9073aeb3

R=bsalomon@google.com, mtklein@google.com, robertphillips@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/351583002
2014-06-23 06:13:46 -07:00
rmistry
c986b1fd28 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
2014-06-23 06:06:36 -07:00
kkinnunen
4a995dfff2 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
2014-06-22 23:32:33 -07:00
kkinnunen
74fc727dc8 Support using OpenGL ES context on desktop
Support using OpenGL ES context on desktop for unix and Android platforms. This
is mainly useful in development.

Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
possible parameters for the flag are "gl" and "gles".

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

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/319043005
2014-06-22 22:56:54 -07:00
krajcevski
37d20f7532 Add support for glCompressedTexSubImage2D
R=bsalomon@google.com, robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/329213002
2014-06-11 10:38:48 -07:00
commit-bot@chromium.org
160b478eed 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
2014-05-05 12:32:37 +00:00
djsollen@google.com
53b614b567 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
2014-05-02 17:44:34 +00:00
commit-bot@chromium.org
f9deb8a15d 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
2014-05-02 15:08:18 +00:00
commit-bot@chromium.org
f66967243c Use EXT_direct_state_access for path matrix manipulation
Use EXT_direct_state_access for path matrix manipulation when using
NV_path_rendering extension. This makes Chromium command buffer
integration easier, since the current matrix mode does not need to be
exposed as state and fewer function calls and enums are needed.

BUG=chromium:344330
R=bsalomon@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14374 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-25 06:21:30 +00:00
commit-bot@chromium.org
0a6fe71f1b Use fixed function pipeline only when drawing paths
Use fixed function pipeline only when drawing paths. Previously FF
vertex shader was used when drawing normal geometry if path rendering
was enabled.

This is required to make Chromium integration easier. This way
fixed function vertex shading, including vertexshader-less programs,
need not be implemented in the Chromium command buffer.

Removes FF TexGen functionality, as it is not used anymore. Likewise
removes the fixedFunctionSupport GL capability flag.

BUG=chromium:344330
R=bsalomon@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14334 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 19:26:26 +00:00
commit-bot@chromium.org
beb8b3a4da Add GL_CHROMIUM_map_sub functions to GrGLInterface and bit to GrGLCaps.
BUG=skia:2402
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14199 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-15 15:37:51 +00:00
bsalomon@google.com
a34bb60c4e Add GL_ARB_invalidate_subdata functions to GrGLInterface.
BUG=skia:1541
R=egdaniel@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14004 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-01 13:07:29 +00:00
commit-bot@chromium.org
f535561b3b Cleanup GrGLInterface after Chromium changes
Depends on landing https://codereview.chromium.org/143263014

R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13630 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 20:28:50 +00:00
commit-bot@chromium.org
0714360591 Add SK_API to GrGLExtensions
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13574 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-25 02:14:57 +00:00
commit-bot@chromium.org
6ebfbf9968 Use vertex buffer objects instead of client side arrays in fixed-function codepaths
Pass vertices to the fixed-function shaders in vertex buffer object
stored at attribute 0. This is specified in OpenGL Compatibility
Profile Section 10.8.2 (Transferring Vertices With Vertex Attribute
Zero).

This makes future integration to Chromium command buffer better, since
the command buffer already has code for vertex buffer objects but not
vertex arrays.

Delete unused function pointers related to fixed-function codepaths.

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13557 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-24 12:05:02 +00:00
commit-bot@chromium.org
a3baf3be0e Add hooks for GL_EXT_debug_marker in gpu
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13538 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-21 18:45:30 +00:00
commit-bot@chromium.org
d8ed85101e Turn NVPR on by default (but off in tools).
BUG=skia:2042

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

R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13176 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 20:49:44 +00:00
halcanary@google.com
68c74884d0 Revert "Turn NVPR on by default (but off in tools)."
This reverts commit 83d81c96de.

Broke Windows build.  Autorevert didn't work.

TBR=bsalomon@google.com,robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
BUG=skia:2042

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13169 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 16:04:09 +00:00
commit-bot@chromium.org
83d81c96de Turn NVPR on by default (but off in tools).
BUG=skia:2042
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13164 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 14:38:13 +00:00
commit-bot@chromium.org
c72425ae36 Move GrGLInterface function pointers into a nested struct
BUG=skia:2042
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13130 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-21 16:09:18 +00:00
commit-bot@chromium.org
7322893af0 Adding SK_API to SkGLContextHelper and SkNullGLContext for use in blink unit test component build
BUG=skia:
R=bsalomon@chromium.org

Author: junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13119 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-17 16:59:03 +00:00
commit-bot@chromium.org
90313cc36a Move GrGLExtensions from GrGLContextInfo to GrGLInterface
BUG=skia:2042
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13118 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-17 15:05:38 +00:00
commit-bot@chromium.org
92b7884e88 Remove GR_GL_IGNORE_ES3_MSAA.s
R=jvanverth@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13115 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-16 20:49:46 +00:00
commit-bot@chromium.org
cc190eb6f3 Allow GrGLInterface factories in Chromium to continue to compile.
BUG=skia:2042
TBR=jvanverth@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13112 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-16 18:49:01 +00:00
commit-bot@chromium.org
9e90aed5de Rename GrGLBinding->GrGLStandard, no longer a bitfield
BUG=skia:2042
R=jvanverth@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13108 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-16 16:35:09 +00:00
commit-bot@chromium.org
a3b15ed037 Make GrGLInterface be context-specific on all platforms
BUG=skia:2042
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13097 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 19:32:03 +00:00
robertphillips@google.com
f5a76839b9 Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows (Take 2)
https://codereview.chromium.org/118533003/



git-svn-id: http://skia.googlecode.com/svn/trunk@12781 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 19:37:10 +00:00
robertphillips@google.com
01a2f1cbad Revert r12758 (Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows (Take 2) - https://codereview.chromium.org/118533003) due to Chromium-side compilation issues
git-svn-id: http://skia.googlecode.com/svn/trunk@12762 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 23:56:59 +00:00
commit-bot@chromium.org
0ef335ac81 Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows (Take 2)
Requires changes from https://codereview.chromium.org/99053007/ before this can be rolled in Chromium DEPS. If this begins breaking the build due to an early roll, please contact bajones@chromium.org before reverting.

BUG=326382
R=bsalomon@chromium.org
TBR=bsalomon@chromium.org

Author: bajones@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12758 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 21:09:21 +00:00
robertphillips@google.com
3cf7e93b67 Revert r12694 (Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows - https://codereview.chromium.org/111403003) due to Chromium-side compilation errors
git-svn-id: http://skia.googlecode.com/svn/trunk@12707 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 15:13:55 +00:00
commit-bot@chromium.org
6ed67789c5 Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows
BUG=326382
R=reed@google.com, bsalomon@google.com

Author: bajones@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12694 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-16 19:47:16 +00:00
bungeman@google.com
0d9e3da8bb Use lowercase windows.h in includes to fix Windows cross compilation using mingw.
While it doesn't matter on Windows, mingw on case-sensitive OSes uses all lower case filenames for platform include files. I found the problem in SkCondVar.h from Mozilla checkout of skia sources, but the patch contains a fix for the whole skia tree.

R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12461 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 15:23:37 +00:00
commit-bot@chromium.org
aae7c2a5b7 Export GrGLCreateNullInterface for use in Chromium compositor unit tests.
R=bsalomon@google.com

Author: mvujovic@adobe.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12386 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 20:39:27 +00:00
commit-bot@chromium.org
d3baf20dd1 Added support for Chrome's gpu command buffer extension BindUniformLocation.
R=bsalomon@google.com, bsalomon

Author: skaslev@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12178 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:06:08 +00:00
djsollen@google.com
c9542ca3d0 Add swapBuffer call to SkGLContextHelper.
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11682 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-09 18:25:38 +00:00
commit-bot@chromium.org
4382330a15 Replace GR_*_BUILD by their SK_BUILD_FOR_* equivalents.
BUG=None
TEST=None, no functional changes.
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/24253009

git-svn-id: http://skia.googlecode.com/svn/trunk@11457 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-25 20:57:51 +00:00
commit-bot@chromium.org
a4de8c257e Remove GrRefCnt.h in favor of SkRefCnt.h
This removes GrRefCnt.h with all its tyepdefs and #defines and just switch them
to the Sk* equivalents.

GrSafeSetNull was promoted to SkSafeSetNull in SkRefCnt.h.

BUG=None
TEST=none, no functional changes.
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23904003

git-svn-id: http://skia.googlecode.com/svn/trunk@11151 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-09 13:38:37 +00:00
commit-bot@chromium.org
040fd8f567 Rip out CSAA support
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/23882009

git-svn-id: http://skia.googlecode.com/svn/trunk@11138 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-06 20:00:41 +00:00
commit-bot@chromium.org
a8e5a06f69 Add support for ES3 MSAA.
R=robertphillips@google.com, jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/23404002

git-svn-id: http://skia.googlecode.com/svn/trunk@11124 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 23:44:09 +00:00
commit-bot@chromium.org
f5897f83e6 Add OpenGL 4.4 support to SkNativeGLContext and GrGLCreateNativeInterface android versions.
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/23702015

git-svn-id: http://skia.googlecode.com/svn/trunk@11060 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-03 17:50:50 +00:00
commit-bot@chromium.org
46fbfe0cd1 Add glTexGen funcs to interface
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/23513006

git-svn-id: http://skia.googlecode.com/svn/trunk@11032 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 15:52:12 +00:00
commit-bot@chromium.org
515dcd3603 Replace uses of GR_DEBUG by SK_DEBUG.
BUG=None
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23137022

git-svn-id: http://skia.googlecode.com/svn/trunk@10978 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 14:17:03 +00:00
commit-bot@chromium.org
d28063e491 Replace uses of GR_API by SK_API.
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22881005

git-svn-id: http://skia.googlecode.com/svn/trunk@10808 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 12:23:06 +00:00
tfarina@chromium.org
f6de475e5c Replace uses of GrAssert by SkASSERT.
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10789 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-17 00:02:59 +00:00
bsalomon@google.com
46b450a049 temporary kES2_GrGLBinding alias to unblock DEPS roll
git-svn-id: http://skia.googlecode.com/svn/trunk@10749 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 19:45:26 +00:00
bsalomon@google.com
eb170703fc missing header from previous commit
git-svn-id: http://skia.googlecode.com/svn/trunk@10748 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 18:57:53 +00:00
commit-bot@chromium.org
cffff79a40 get genmipmap function in the struct
BUG=
R=bsalomon@google.com, reed@google.com

Author: humper@google.com

Review URL: https://chromiumcodereview.appspot.com/20436002

git-svn-id: http://skia.googlecode.com/svn/trunk@10393 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-26 16:36:04 +00:00
bsalomon@google.com
00142c4405 Fix GL extension printing on core profiles.
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8970 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-02 19:42:54 +00:00
robertphillips@google.com
a6ffb58b10 Plumbed in discard_framebuffer extension
https://codereview.chromium.org/14461006/



git-svn-id: http://skia.googlecode.com/svn/trunk@8906 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-29 16:50:17 +00:00
commit-bot@chromium.org
98168bb394 Add glCopyTexSubImage2D to GrGLInterface
Author: bsalomon@google.com

Reviewed By: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/13941006

git-svn-id: http://skia.googlecode.com/svn/trunk@8634 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 22:00:34 +00:00
bsalomon@google.com
f3a60c09b9 Add support for IMG's MSAA extension.
Review URL: https://codereview.chromium.org/12875005

git-svn-id: http://skia.googlecode.com/svn/trunk@8241 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-19 19:06:09 +00:00
bsalomon@google.com
ecd84842b3 Add support to GrGLInterface for vertex array objects
Committed: https://code.google.com/p/skia/source/detail?r=7919
Review URL: https://codereview.chromium.org/12379025

git-svn-id: http://skia.googlecode.com/svn/trunk@7924 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-01 15:36:02 +00:00
bsalomon@google.com
b82c3993c2 Revert 7919 and 7920 (committed wrong version of r7919.)
git-svn-id: http://skia.googlecode.com/svn/trunk@7923 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-01 15:32:49 +00:00
bsalomon@google.com
87c6d7a99e Add support to GrGLInterface for vertex array objects
Review URL: https://codereview.chromium.org/12379025

git-svn-id: http://skia.googlecode.com/svn/trunk@7919 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-01 14:37:18 +00:00
robertphillips@google.com
6177e6999d Split GrGLContextInfo into GrGLContext & GrGLContextInfo
https://codereview.appspot.com/7436045/



git-svn-id: http://skia.googlecode.com/svn/trunk@7905 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 20:16:25 +00:00
bsalomon@google.com
26fb61ae46 Move the default definition of GR_USE_NEW_SHADER_SOURCE_SIGNATURE to GrGLConfig.
R=senorblanco@google.com
Review URL: https://codereview.chromium.org/12390021

git-svn-id: http://skia.googlecode.com/svn/trunk@7904 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 19:26:04 +00:00
commit-bot@chromium.org
e452a0ab43 Use updated Khronos signature for glShaderSource
(const char* const instead of char**).

This is needed for new Khronos headers.

BUG=178589

Review URL: https://chromiumcodereview.appspot.com/12310156

git-svn-id: http://skia.googlecode.com/svn/trunk@7900 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 17:11:11 +00:00
skia.committer@gmail.com
12eea2b10d Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7875 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 07:10:10 +00:00
bsalomon@google.com
1744f97ea7 Use glGetStringi to get extensions when available.
Review URL: https://codereview.chromium.org/12328111

git-svn-id: http://skia.googlecode.com/svn/trunk@7872 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-26 21:46:32 +00:00
bsalomon@google.com
96966a5a1f Use CPU arrays for dynamic indices/vertices on ARM GPUs.
Review URL: https://codereview.appspot.com/7365047

git-svn-id: http://skia.googlecode.com/svn/trunk@7810 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 16:34:21 +00:00
bsalomon@google.com
682e1f9245 Use CGL rather than AGL on the Mac.
Review URL: https://codereview.appspot.com/7307106

git-svn-id: http://skia.googlecode.com/svn/trunk@7736 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-14 15:10:59 +00:00
robertphillips@google.com
fe1b536bb7 Enhance GL error checking for non-Ganesh GL calls
https://codereview.appspot.com/7312057/



git-svn-id: http://skia.googlecode.com/svn/trunk@7647 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 19:45:46 +00:00
skia.committer@gmail.com
e16efc1882 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-26 07:06:02 +00:00
senorblanco@chromium.org
e0d44ff614 Add support for new glShaderSource() signature from Khronos. Disabled by default.
Review URL: https://codereview.appspot.com/6853068

git-svn-id: http://skia.googlecode.com/svn/trunk@6491 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-19 20:43:10 +00:00
borenet@google.com
7158e6acca Improve NaCl support
- Add nacl_make script to build Skia targets for NaCl using gyp
- Add nacl_interface for command-line apps
- Add nacl_sample as front-end for SampleApp
- Add freetype to DEPS
- Various gyp tweaks for NaCl

TODO:
- Implement GL interface
- Implement font host
- Fix plumbing so that SampleApp works properly
Review URL: https://codereview.appspot.com/6671044

git-svn-id: http://skia.googlecode.com/svn/trunk@6245 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 17:43:44 +00:00
bsalomon@google.com
2b64f84b4b Add SkNativeGLContext implementation for iOS.
R=caryclark@google.com
Review URL: https://codereview.appspot.com/6589055

git-svn-id: http://skia.googlecode.com/svn/trunk@5767 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-02 15:25:12 +00:00
rmistry@google.com
fbfcd56021 Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/)
This CL is part I of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6485054

git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 18:09:54 +00:00
bsalomon@google.com
ded4f4b163 Initial support for GL_NV_path_renering. Experimental, there are still some issues to resolve, set gyp variable skia_nv_path_rendering=1 or build flag GR_GL_USE_NV_PATH_RENDERING to enable.
http://codereview.appspot.com/6349049/



git-svn-id: http://skia.googlecode.com/svn/trunk@4390 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-28 18:48:06 +00:00
robertphillips@google.com
15e9d3e66e Expanded distribution of instance counting
http://codereview.appspot.com/6300114/



git-svn-id: http://skia.googlecode.com/svn/trunk@4291 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-21 20:25:03 +00:00
bsalomon@google.com
f22f77faeb NV PR spec update to function param, use GrGL typedefs rather than fundamental types
Review URL: http://codereview.appspot.com/6307077/



git-svn-id: http://skia.googlecode.com/svn/trunk@4245 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-13 14:16:03 +00:00
bsalomon@google.com
0efcc37952 Remove glBlendEquation and glColorPointer
Review URL: http://codereview.appspot.com/6300075/



git-svn-id: http://skia.googlecode.com/svn/trunk@4216 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-08 20:36:22 +00:00
bsalomon@google.com
fe11cb6486 Add GL function pointers for GL_NV_path_rendering
Review URL: http://codereview.appspot.com/6296046/



git-svn-id: http://skia.googlecode.com/svn/trunk@4192 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-06 15:17:54 +00:00
bsalomon@google.com
4d063dea5e Add glTexParameteriv to GL interface
Comitted on behalf of jin.a.yang@intel.com

Review URL: http://codereview.appspot.com/6213069/



git-svn-id: http://skia.googlecode.com/svn/trunk@4099 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 17:59:23 +00:00
bsalomon@google.com
341767c9fc Remove support for vertex attribute matrices
Review URL: http://codereview.appspot.com/6200065/



git-svn-id: http://skia.googlecode.com/svn/trunk@3917 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-11 20:47:39 +00:00
bsalomon@google.com
cc61b17628 Comment improvements to GrGLInterface
git-svn-id: http://skia.googlecode.com/svn/trunk@3865 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 21:45:48 +00:00
bsalomon@google.com
637d5e9297 Move GL function prototype typdefs to a separate header
Review URL: http://codereview.appspot.com/6189054/



git-svn-id: http://skia.googlecode.com/svn/trunk@3864 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 21:33:56 +00:00
bsalomon@google.com
2717d56b22 move more stuff that should be private out from GrGLConfig.h
Review URL: http://codereview.appspot.com/6202053/




git-svn-id: http://skia.googlecode.com/svn/trunk@3856 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 19:10:52 +00:00
bsalomon@google.com
91bcc94e87 Make GrGLDefines.h be a private header
Review URL: http://codereview.appspot.com/6198048/



git-svn-id: http://skia.googlecode.com/svn/trunk@3851 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 17:28:41 +00:00
bsalomon@google.com
9c1f1ac5d3 Move function decls and macros out of public headers that are meant for internal use.
git-svn-id: http://skia.googlecode.com/svn/trunk@3849 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 17:09:37 +00:00
robertphillips@google.com
443e5a52b7 Re-adding red texture support (by rolling back r3800)
http://code.google.com/p/skia/source/detail?r=3622 - for original review
http://crbug.com/125596 ('M20 windows renderer stability maze') - for issue



git-svn-id: http://skia.googlecode.com/svn/trunk@3802 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-30 20:01:21 +00:00
epoger@google.com
0048469578 Roll back http://code.google.com/p/skia/source/detail?r=3622 to deal with http://crbug.com/125596 ('M20 windows renderer stability maze')
git-svn-id: http://skia.googlecode.com/svn/trunk@3800 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-30 19:02:08 +00:00
bsalomon@google.com
b3400badf0 Fix undefined GLint in Mac builds
git-svn-id: http://skia.googlecode.com/svn/trunk@3736 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-19 19:27:19 +00:00
robertphillips@google.com
e788430144 Added glBlendEquation to GL interface
http://codereview.appspot.com/6057047/



git-svn-id: http://skia.googlecode.com/svn/trunk@3720 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-18 14:39:58 +00:00
bsalomon@google.com
c9668ecdb7 Add support for GL_NV_framebuffer_multisample_coverage
Review URL: http://codereview.appspot.com/6005043


git-svn-id: http://skia.googlecode.com/svn/trunk@3651 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-11 18:16:41 +00:00
robertphillips@google.com
6995068c5a Initial version of R8 support
http://codereview.appspot.com/5967067/



git-svn-id: http://skia.googlecode.com/svn/trunk@3622 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-06 18:06:10 +00:00
robertphillips@google.com
d5c8fe6f34 Removed ANGLE namespace requirement
http://codereview.appspot.com/5969065/



git-svn-id: http://skia.googlecode.com/svn/trunk@3571 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-02 15:04:16 +00:00
bsalomon@google.com
ba800e2225 Alphabetize gl function pointer typedefs / decls. Wrap pointers to auto-NULL them.
Review URL: http://codereview.appspot.com/5959048/



git-svn-id: http://skia.googlecode.com/svn/trunk@3549 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-29 21:04:52 +00:00
robertphillips@google.com
d3b9fbbc48 Code changes for ANGLE GL interface. .gyp file changes will be delivered later.
http://codereview.appspot.com/5940046/



git-svn-id: http://skia.googlecode.com/svn/trunk@3519 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-28 16:19:11 +00:00
robertphillips@google.com
7c9594259b Extended debug GL interface to include tracking of render buffers
http://codereview.appspot.com/5875050/



git-svn-id: http://skia.googlecode.com/svn/trunk@3469 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-22 20:43:56 +00:00
robertphillips@google.com
0da3719050 Added debug GL Interface. This interface tracks various GL objects in order to find leaks & invalid accesses.
Core Review: http://codereview.appspot.com/5846049/




git-svn-id: http://skia.googlecode.com/svn/trunk@3426 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-19 14:42:13 +00:00
bsalomon@google.com
c1dd88852a Better workaround for osx / nv bug
Review URL: http://codereview.appspot.com/5727044/



git-svn-id: http://skia.googlecode.com/svn/trunk@3308 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-02 20:36:18 +00:00
bsalomon@google.com
5ffd5baeef Workaround for chrome on mac buffer object performance issue.
Review URL: http://codereview.appspot.com/5713051/



git-svn-id: http://skia.googlecode.com/svn/trunk@3289 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-01 15:29:07 +00:00
tomhudson@google.com
6bf38b59c9 Move GL-specific include files to their own subdirectory, to better
coexist alongside D3D backend.
Requires gyp change.

http://codereview.appspot.com/5665045/



git-svn-id: http://skia.googlecode.com/svn/trunk@3185 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-14 15:11:59 +00:00