aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLDefines.h
Commit message (Collapse)AuthorAge
* Style bikeshed - remove extraneous whitespaceGravatar halcanary2016-03-29
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002 Review URL: https://codereview.chromium.org/1842753002
* Consolidate GPU buffer implementationsGravatar cdalton2016-03-25
| | | | | | | | | | | | | | | | Consolidates all the different buffer implementations into a single GrBuffer class. This will allow us to add new buffer types, use DSA in OpenGL, track buffer bindings by unique ID, cache buffers without respect to the type of data they have been used for previously, etc. This change is strictly a refactor; it introduces no change in functionality. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825393002 Committed: https://skia.googlesource.com/skia/+/8b1bff29675afd25843439eade634a57f68fe16f Review URL: https://codereview.chromium.org/1825393002
* added support for glMinSampleShadingGravatar ethannicholas2016-03-25
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1812223002 Review URL: https://codereview.chromium.org/1812223002
* Revert of Consolidate GPU buffer implementations (patchset #10 id:180001 of ↵Gravatar robertphillips2016-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1825393002/ ) Reason for revert: Lots of Android redness Original issue's description: > Consolidate GPU buffer implementations > > Consolidates all the different buffer implementations into a single > GrBuffer class. This will allow us to add new buffer types, use DSA in > OpenGL, track buffer bindings by unique ID, cache buffers without > respect to the type of data they have been used for previously, etc. > This change is strictly a refactor; it introduces no change in > functionality. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825393002 > > Committed: https://skia.googlesource.com/skia/+/8b1bff29675afd25843439eade634a57f68fe16f TBR=bsalomon@google.com,egdaniel@google.com,jvanverth@google.com,cdalton@nvidia.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/1831133004
* Consolidate GPU buffer implementationsGravatar cdalton2016-03-25
| | | | | | | | | | | | | | Consolidates all the different buffer implementations into a single GrBuffer class. This will allow us to add new buffer types, use DSA in OpenGL, track buffer bindings by unique ID, cache buffers without respect to the type of data they have been used for previously, etc. This change is strictly a refactor; it introduces no change in functionality. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825393002 Review URL: https://codereview.chromium.org/1825393002
* sRGB support in Ganesh. Several pieces:Gravatar brianosman2016-03-21
| | | | | | | | | | | | | | | | | | | | | | sRGB support now also requires GL_EXT_texture_sRGB_decode, which allows us to disable sRGB -> Linear conversion when reading textures. This gives us an easy way to support "legacy" L32 mode. We disable decoding based on the pixel config of the render target. Textures can override that behavior (specifically for format-conversion draws where we want that behavior). Added sBGRA pixel config, which is not-really-a-format. It's just sRGBA internally, and the external format is BGR order, so TexImage calls will swizzle correctly. This lets us interact with sRGB raster surfaces on BGR platforms. Devices without sRGB support behave like they always have: conversion from color type and profile type ignores sRGB and always returns linear pixel configs. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1789663002 Review URL: https://codereview.chromium.org/1789663002
* Revert of sRGB support in Ganesh. Several pieces: (patchset #12 id:220001 of ↵Gravatar brianosman2016-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1789663002/ ) Reason for revert: We're getting sRGB non-8888 configs? Original issue's description: > sRGB support in Ganesh. Several pieces: > > sRGB support now also requires GL_EXT_texture_sRGB_decode, which allows > us to disable sRGB -> Linear conversion when reading textures. This gives > us an easy way to support "legacy" L32 mode. We disable decoding based on > the pixel config of the render target. Textures can override that behavior > (specifically for format-conversion draws where we want that behavior). > > Added sBGRA pixel config, which is not-really-a-format. It's just sRGBA > internally, and the external format is BGR order, so TexImage calls will > swizzle correctly. This lets us interact with sRGB raster surfaces on BGR > platforms. > > Devices without sRGB support behave like they always have: conversion from > color type and profile type ignores sRGB and always returns linear pixel > configs. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1789663002 > > Committed: https://skia.googlesource.com/skia/+/9e3f1bf4e5cd8fc59554f986f36d6b034e99f9eb TBR=reed@google.com,bsalomon@google.com,robertphillips@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/1814533003
* sRGB support in Ganesh. Several pieces:Gravatar brianosman2016-03-17
| | | | | | | | | | | | | | | | | | | | | | sRGB support now also requires GL_EXT_texture_sRGB_decode, which allows us to disable sRGB -> Linear conversion when reading textures. This gives us an easy way to support "legacy" L32 mode. We disable decoding based on the pixel config of the render target. Textures can override that behavior (specifically for format-conversion draws where we want that behavior). Added sBGRA pixel config, which is not-really-a-format. It's just sRGBA internally, and the external format is BGR order, so TexImage calls will swizzle correctly. This lets us interact with sRGB raster surfaces on BGR platforms. Devices without sRGB support behave like they always have: conversion from color type and profile type ignores sRGB and always returns linear pixel configs. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1789663002 Review URL: https://codereview.chromium.org/1789663002
* Add caps and GL API for buffer textureGravatar cdalton2016-03-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1784063003 Review URL: https://codereview.chromium.org/1784063003
* Add support for vertex and geometry shader texturesGravatar cdalton2016-03-11
| | | | | | | | | | | Adds a visibility bitfield to GrTextureAccess that controls in which shaders the texture should be accessible. Also adds caps and validation to ensure we don't exceed texture limits. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1782583002 Review URL: https://codereview.chromium.org/1782583002
* Creating functions for uploading a mipmapped texture.Gravatar cblume2016-02-26
| | | | | | | BUG=476416 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1249543003 Review URL: https://codereview.chromium.org/1249543003
* Include glGetMultisamplefv APIGravatar cdalton2016-02-26
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1720963002 Committed: https://skia.googlesource.com/skia/+/69c1b24bcaa7cffd59753a75a7f3d155696fcac4 Review URL: https://codereview.chromium.org/1720963002
* Revert of Include glGetMultisamplefv API (patchset #1 id:1 of ↵Gravatar ethannicholas2016-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1720963002/ ) Reason for revert: This is in the blamelist for Visualbench failures: https://build.chromium.org/p/client.skia/builders/Perf-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Release-VisualBench/builds/1035 and seems the most likely candidate for the failure, so I am tentatively reverting. Original issue's description: > Include glGetMultisamplefv API > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1720963002 > > Committed: https://skia.googlesource.com/skia/+/69c1b24bcaa7cffd59753a75a7f3d155696fcac4 TBR=bsalomon@google.com,joshualitt@google.com,cdalton@nvidia.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/1731333002
* Include glGetMultisamplefv APIGravatar cdalton2016-02-23
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1720963002 Review URL: https://codereview.chromium.org/1720963002
* Add GL indirect drawing APIsGravatar cdalton2016-02-05
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666803002 Review URL: https://codereview.chromium.org/1666803002
* added support for PLS path renderingGravatar ethannicholas2016-01-30
| | | | | | | | | BUG=skia:3555 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002 Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822 Review URL: https://codereview.chromium.org/1541903002
* Revert of added support for PLS path rendering (patchset #16 id:360001 of ↵Gravatar ethannicholas2016-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1541903002/ ) Reason for revert: ASAN failure at src/gpu/GrXferProcessor.cpp:224 Original issue's description: > added support for PLS path rendering > > BUG=skia:3555 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002 > > Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822 TBR=bsalomon@google.com,egdaniel@google.com,joshualitt@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3555 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1626553002 Review URL: https://codereview.chromium.org/1626553002
* added support for PLS path renderingGravatar ethannicholas2016-01-22
| | | | | | | BUG=skia:3555 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002 Review URL: https://codereview.chromium.org/1541903002
* Beginning of support for texture rectangles.Gravatar bsalomon2016-01-14
| | | | | | | | | | | | | Adds support for importing a RECTANGLE texture into Skia via GrTexureProvider::wrapBackendTexture(). Tests read/writing pixels, copySurface, and clear. Does not add support for texturing from a RECTANGLE texture as the coords will be incorrectly normalized. BUG=skia:3868 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1583863002 Review URL: https://codereview.chromium.org/1583863002
* Generate a table of config->glformat info. Precursor to lifting this to caps.Gravatar bsalomon2015-12-16
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1527383003 Review URL: https://codereview.chromium.org/1527383003
* Avoid pixel GPU readback in saveLayerWithPickupGravatar robertphillips2015-12-16
| | | | | | When the default framebuffer is wrapped in a device for rendering we don't get a GrTexture. This CL adds a copy to a temporary texture in this instance so the rest of the Ganesh pipeline can continue on as usual. Review URL: https://codereview.chromium.org/1531493002
* Add transfer buffer to GLCapsGravatar jvanverth2015-12-07
| | | | | | | | | Adds a check for PBO/transfer buffer support to GrGLCaps, and uses that to pick the correct buffer type. BUG=skia:4604 Review URL: https://codereview.chromium.org/1503593002
* Add transfer buffer support.Gravatar jvanverth2015-12-03
| | | | | | | | BUG=skia:4604 Committed: https://skia.googlesource.com/skia/+/fa498fe12239988578465d0dee69f0d5645bb361 Review URL: https://codereview.chromium.org/1490473003
* Revert of Add transfer buffer support. (patchset #9 id:160001 of ↵Gravatar egdaniel2015-12-03
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1490473003/ ) Reason for revert: speculative revert for deps roll failures Original issue's description: > Add transfer buffer support. > > BUG=skia:4604 > > Committed: https://skia.googlesource.com/skia/+/fa498fe12239988578465d0dee69f0d5645bb361 TBR=bsalomon@google.com,jvanverth@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4604 Review URL: https://codereview.chromium.org/1496843003
* Add transfer buffer support.Gravatar jvanverth2015-12-02
| | | | | | BUG=skia:4604 Review URL: https://codereview.chromium.org/1490473003
* Initial version of external_oes texture support and unit testGravatar bsalomon2015-11-22
| | | | | | Committed: https://skia.googlesource.com/skia/+/27a048700778d4cebfc23301d1780649791b0e03 Review URL: https://codereview.chromium.org/1451683002
* Revert of Initial version of external_oes texture support and unit test ↵Gravatar bsalomon2015-11-20
| | | | | | | | | | | | | | | | | | | (patchset #14 id:260001 of https://codereview.chromium.org/1451683002/ ) Reason for revert: Error wrapping external texture in GrTexture on some devices. Original issue's description: > Initial version of external_oes texture support and unit test > > Committed: https://skia.googlesource.com/skia/+/27a048700778d4cebfc23301d1780649791b0e03 TBR=joshualitt@google.com,egdaniel@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1459323004
* Initial version of external_oes texture support and unit testGravatar bsalomon2015-11-20
| | | | Review URL: https://codereview.chromium.org/1451683002
* Add support for EGLImage to GrGLInterfaceGravatar bsalomon2015-11-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1434813002
* Revert of Enable stencil clipping in mixed sampled render targets (patchset ↵Gravatar cdalton2015-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | #6 id:100001 of https://codereview.chromium.org/1232103002/ ) Reason for revert: Co-centered sample locations are not needed to do stencil clip with mixed samples Original issue's description: > Implement stencil clipping in mixed sampled render targets > > This change enables multisampled clipping for mixed sampled > render targets. Previously clipping in mixed samples config > behaved the same as in the gpu config. > > In order to retrofit non-MSAA draw methods, programmable sample > locations are used in order to colocate all samples at (0.5, 0.5). > Requires support for NV_sample_locations. > > BUG=skia:4399 > > Committed: > https://skia.googlesource.com/skia/+/3e77ba96d56d15db30ac6d8ccb900e30aafcbb16 BUG=skia: Review URL: https://codereview.chromium.org/1415873011
* Implement stencil clipping in mixed sampled render targetsGravatar vbuzinov2015-09-30
| | | | | | | | | | | | | | This change enables multisampled clipping for mixed sampled render targets. Previously clipping in mixed samples config behaved the same as in the gpu config. In order to retrofit non-MSAA draw methods, programmable sample locations are used in order to colocate all samples at (0.5, 0.5). Requires support for NV_sample_locations. BUG=skia:4399 Review URL: https://codereview.chromium.org/1232103002
* Import functionality for new GL backendGravatar cdalton2015-06-12
| | | | | | | | | | | | | | | | | | Brings in the following functionality: ARB_draw_instanced ARB_instanced_arrays NV_bindless_texture EXT_direct_state_access KHR_debug Also cleans up some of the NVPR extension loading. BUG=skia: Committed: https://skia.googlesource.com/skia/+/202c4c75fb806f751cf796850bf67fe9793e0643 Review URL: https://codereview.chromium.org/1185573003
* Revert of Import functionality for new GL backend (patchset #2 id:20001 of ↵Gravatar djsollen2015-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1185573003/) Reason for revert: breaking multiple builds. For example... https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/667 Original issue's description: > Import functionality for new GL backend > > Brings in the following functionality: > > ARB_draw_instanced > ARB_instanced_arrays > NV_bindless_texture > EXT_direct_state_access > KHR_debug > > Also cleans up some of the NVPR extension loading. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/202c4c75fb806f751cf796850bf67fe9793e0643 TBR=bsalomon@google.com,cdalton@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1184863002
* Import functionality for new GL backendGravatar cdalton2015-06-12
| | | | | | | | | | | | | | | | Brings in the following functionality: ARB_draw_instanced ARB_instanced_arrays NV_bindless_texture EXT_direct_state_access KHR_debug Also cleans up some of the NVPR extension loading. BUG=skia: Review URL: https://codereview.chromium.org/1185573003
* Further work on sRGB support.Gravatar jvanverth2015-05-22
| | | | | | | | | Fix some caps. Add framebuffer enum. BUG=skia:3856 Review URL: https://codereview.chromium.org/1152563003
* Make mixed samples contingent on auxiliary extensionsGravatar cdalton2015-05-21
| | | | | | | | | | | | | | | | | | | | | Moves the cap for mixed samples into GrShaderCaps and does not enable it unless we have support for both dual source blending and multisample disable. Creates a dedicated cap for multisample disable. Reconfigures the mixed samples cap to indicate the collective capability of three different extensions: GL_NV_framebuffer_mixed_samples GL_NV_sample_mask_override_coverage GL_EXT_raster_multisample Imports tokens and procedures for GL_EXT_raster_multisample. BUG=skia: Review URL: https://codereview.chromium.org/1151793002
* Add RGBA half float texture format.Gravatar jvanverth2015-05-21
| | | | | | BUG=skia:3829 Review URL: https://codereview.chromium.org/1148243002
* Improve NVPR stroke accuracy to fix thick strokesGravatar kkinnunen2015-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set the "path stroke error bound" path parameter to 0.02 for all paths. This means that the stroked path area will be within 98% of the stroke width in path space. This should fix many cases where NVPR stroked paths were visibly different to Skia stroked paths. One such path is in dashcubics gm. This increases the amount of subdivisions the path object creation will make for paths that need it. This in turn will increase gpu object space requirements sligthly. Both of these effects should be unnoticeable. GL_NV_path_rendering.txt: """ Every path object has a stroke approximation bound parameter (PATH_STROKE_BOUND_NV) that is a floating-point value /sab/ clamped between 0.0 and 1.0 and set and queried with the PATH_STROKE_BOUND_NV path parameter. Exact determination of samples swept an orthogonal centered line segment along cubic Bezier segments and rational quadratic Bezier curves (so non-circular partial elliptical arcs) is intractable for real-time rendering so an approximation is required; /sab/ intuitively bounds the approximation error as a percentage of the path object's stroke width. Specifically, this path parameter requests the implementation to stencil any samples within /sweep/ object space units of the exact sweep of the path's cubic Bezier segments or partial elliptical arcs to be sampled by the stroke where sweep = ((1-sab)*sw)/2 where /sw/ is the path object's stroke width. The initial value of /sab/ when a path is created is 0.2. In practical terms, this initial value means the stencil sample positions coverage within 80% (100%-20%) of the stroke width of cubic and rational quadratic stroke segments should be sampled. """ BUG=skia:2049 Review URL: https://codereview.chromium.org/1124423007
* Add tokens and entry points for KHR_blend_equation_advancedGravatar cdalton2015-04-22
| | | | | | | | | | 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
* Revert of Add tokens and entry points for KHR_blend_equation_advanced ↵Gravatar tomhudson2015-04-21
| | | | | | | | | | | | | | | | | | | | | | | | (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
* Add tokens and entry points for KHR_blend_equation_advancedGravatar cdalton2015-04-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1039693004
* Housekeeping to rename GrGL compressed texture formats to match GL specsGravatar egdaniel2015-03-27
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1035243002
* Add sRGB texture support.Gravatar jvanverth2014-12-22
| | | | Review URL: https://codereview.chromium.org/791823003
* Change desktop and ES 3.0 to always use sized internal texture formats.Gravatar jvanverth2014-12-16
| | | | | | Committed: https://skia.googlesource.com/skia/+/bc02bf0ee4221604796cd6d0394ca3af60c0a579 Review URL: https://codereview.chromium.org/806943002
* Add support for half float alpha textures.Gravatar jvanverth2014-12-05
| | | | | | | | | This allows us to create distance field textures with better precision, which may help text quality. BUG=skia:3103 Review URL: https://codereview.chromium.org/762923003
* Implement conics for NVPRGravatar kkinnunen2014-11-19
| | | | | | | | | Implement conics for NVPR. Verified with currently disabled conicpaths gm, produces mostly same shapes with nvprmsaa4 and msaa4. BUG=skia:2033 Review URL: https://codereview.chromium.org/694503003
* Remove unused NVPR related GL tokensGravatar kkinnunen2014-11-18
| | | | | | | | | | | | | | Remove unused NVPR related GL tokens. Also replace GR_GL_PATH_INITIAL_END_CAP and GR_GL_PATH_TERMINAL_END_CAP with a single call setting GR_GL_PATH_END_CAPS. Skia does not and probably will not have different initial and terminal caps. This came up in the review of command buffer implementation of the extension. If more NVPR features will be used, the respective tokens can be added back per implemented feature. Review URL: https://codereview.chromium.org/723453002
* Adds glMemoryGlyphIndexArrayNV to the GrGLInterface and beginsGravatar cdalton2014-09-17
| | | | | | | | | | | 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
* Implement NV_path_rendering on OpenGL ESGravatar kkinnunen2014-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement support for NV_path_rendering on OpenGL ES. Use glProgramPathFragmentInputGenNV function call instead of glPathTexGenNV to communicate transforms to fragment shader. The intention is that the NVPR paths will be drawn with the same shader program as non-NVPR geometry. For NVPR calls, the GPU will skip the vertex shader and just run the fragment shader. After program is linked, query the locations of the fragment shader inputs with glGetResourceLocation. The location will be used to set the transforms with glProgramPathFragmentInputGenNV. The functions and their workings are documented in: glProgramPathFragmentInputGenNV https://www.opengl.org/registry/specs/NV/path_rendering.txt (note: addition as of API version 1.3) glGetResourceLocation https://www.opengl.org/registry/specs/ARB/program_interface_query.txt http://www.opengl.org/registry/doc/glspec44.core.pdf (function is in core Open GL 4.4) Note: glProgramPathFragmentInputGenNV could be used also for OpenGL. However, using seems to trigger a bug in the driver. Disable this feature on OpenGL at least until the driver is fixed and released. The bug manifests in shadertext test, where the lower-left text pair is missing. Valgrind catches a bad read for the test and causes the context to OOM reproducibly. R=bsalomon@google.com, cdalton@nvidia.com, joshualitt@google.com, joshualitt@chromium.org Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/367643004
* FBFetch refactor + arm supportGravatar joshualitt2014-08-01
| | | | | | | | | BUG=skia: R=krajcevski@google.com, bsalomon@google.com Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/433603002