0a6fe71f1bc0e601b41b7ae6d28b8c96a2c41116 |
|
23-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
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
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
8a13588b6f41ba892bcf6e8ceef6b449c4a5d83d |
|
05-Feb-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Stop discarding in frag shader when coverage is zero and stencil writes are enabled This fixes the corruption in the NVPR images here: http://108.170.217.252:10117/builders/Test-Win8-ShuttleA-GTX660-x86-Debug/builds/251/steps/CompareGMs/logs/stdio caused by: https://skia.googlesource.com/skia.git/+/65ee5f424cb4dabd453268902c00086605d77c1d The stencil path step writes inside and outside the clip when the clip is implemented by a coverage effect. The path cover step then doesn't write outside of the clip because the FS discards. This leaves stencil values outside of the clip non-zero which messed up subsequent path or clip draws to those samples. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/154623002 git-svn-id: http://skia.googlecode.com/svn/trunk@13320 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
e0a868c84ebc34c5a16b5faa1546016abb9ca0ac |
|
22-Nov-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Apply hairline optimization only if the path renderer wants it Make the decision to convert thin, non-hairline paths to hairline paths at the renderer level. The current nv_path_rendering implementation does not render hairlines. Rendering the hairlines with normal renderers cause unneccessary gl program changes, which is quite slow. Changes the behavior of non-nv_path_rendering paths to always perform the optimization if the shape ends up being painted by a renderer that wants the optimization. Previously the optimization was applied only when callgraph started with SkCanvas::drawPath. Applies the optimization for GrAAHairLineRenderer and GrDefaultPathRenderer. This changes gm results for dashing3_{msaa4,gpu} and drawlooper_msaa4. R=bsalomon@google.com, jvanverth@google.com, rmistry@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/38573007 git-svn-id: http://skia.googlecode.com/svn/trunk@12357 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
a4662865e37a2ca95b5e3379072f6a274acc8ac8 |
|
21-Nov-2013 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
More Windows 64b compilation warning fixes https://codereview.chromium.org/47513017/ git-svn-id: http://skia.googlecode.com/svn/trunk@12337 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
8c99c9f4a6fa14a4ade0fb39ff431f43a7306fc7 |
|
20-Nov-2013 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Reverting r12315 (More Windows 64b compilation warning fixes) due to compilation failures git-svn-id: http://skia.googlecode.com/svn/trunk@12316 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
80051d38a3469adb67fa7f503cf43fc2960c28b7 |
|
20-Nov-2013 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
More Windows 64b compilation warning fixes https://codereview.chromium.org/47513017/ git-svn-id: http://skia.googlecode.com/svn/trunk@12315 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
1b20a10f0205da2d53e0837e4ddc6b2bd3b8a462 |
|
08-Nov-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Revert "Do not apply hairline optimization for paths if nv_path_rendering is used" This reverts commit r12185. Review URL: https://codereview.chromium.org/66813002 git-svn-id: http://skia.googlecode.com/svn/trunk@12187 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
44fb865e81a57e0c72de3109d0ed5ea428aa1f44 |
|
08-Nov-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Do not apply hairline optimization for paths if nv_path_rendering is used Do not convert thin, non-hairline paths to hairline paths if nv_path_rendering is used. The current nv_path_rendering implementation does not render hairlines. Rendering the hairlines with normal renderers cause unneccessary gl program changes, which is quite slow. Changes the behavior of non-nv_path_rendering paths to always perform the optimization if the shape ends up being painted by the path-drawing code (GrContext::drawPathInternal). Previously the optimization was applied only when callgraph started with SkCanvas::drawPath. This changes drawlooper_msaa4, dashing3_msaa4 and dashing3_gpu R=bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/38573007 git-svn-id: http://skia.googlecode.com/svn/trunk@12185 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
a34995e18b1f0a7d8c9f23451718bb30ff0105b0 |
|
23-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Implement SkColorFilter as a GrGLEffect Adds GrEffect::willUseInputColor() which indicates whether or not the input color affects the output of the effect. This is needed for certain Xfermodes, such as kSrc_Mode. For these modes the color filter will not use the input color. An effect with GrEffect::willUseInputColor() true will cause all color or coverage effects before it to be discarded, as their computations cannot affect the output. In these cases program is marked as having white input color. This fixes an assert when Skia is compiled in a mode that prefers using uniforms instead of attributes for constants. (Flags GR_GL_USE_NV_PATH_RENDERING or GR_GL_NO_CONSTANT_ATTRIBUTES). Using attributes hides the problem where the fragment shader does not need input color for color filters that ignore DST part of the filter. The assert would be hit when uniform manager tries to bind an uniform which has been optimized away by the shader compiler. Adds specific GrGLSLExpr4 and GrGLSLExpr1 classes. This way the GLSL expressions like "(v - src.a)" can remain somewhat readable in form of "(v - src.a())". The GrGLSLExpr<typename> template implements the generic functionality, GrGLSLExprX is the specialization that exposes the type-safe interface to this functionality. Also adds operators so that GLSL binary operators of the form "(float * vecX)" can be expressed in C++. Before only the equivalent "(vecX * float)" was possible. This reverts the common blending calculations to more conventional order, such as "(1-a) * c" instead of "c * (1-a)". Changes GrGLSLExpr1::OnesStr from 1 to 1.0 in order to preserve the color filter blending formula string the same (with the exception of variable name change). Shaders change in case of input color being needed: - vec4 filteredColor; - filteredColor = (((1.0 - uFilterColor.a) * output_Stage0) + uFilterColor); - fsColorOut = filteredColor; + vec4 output_Stage1; + { // Stage 1: ModeColorFilterEffect + output_Stage1 = (((1.0 - uFilterColor_Stage1.a) * output_Stage0) + uFilterColor_Stage1); + } + fsColorOut = output_Stage1; Shaders change in case of input color being not needed: -uniform vec4 uFilterColor; -in vec4 vColor; +uniform vec4 uFilterColor_Stage0; out vec4 fsColorOut; void main() { - vec4 filteredColor; - filteredColor = uFilterColor; - fsColorOut = filteredColor; + vec4 output_Stage0; + { // Stage 0: ModeColorFilterEffect + output_Stage0 = uFilterColor_Stage0; + } + fsColorOut = output_Stage0; } R=bsalomon@google.com, robertphillips@google.com, jvanverth@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/25023003 git-svn-id: http://skia.googlecode.com/svn/trunk@11912 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
c4dc0ad8e252a7e30d19b47d3d0d9f2c69faf854 |
|
09-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Implement filling a path with nv_path_rendering cover Implement filling a path with nv_path_rendering cover functionality. The nv_path_rendering cover can be used if the fill is non-inverted and the draw operation does not require use of vertex shaders. Moves code for the inverted fill from GrStencilAndCoverPathRenderer down to GrGpuGL. R=bsalomon@google.com, markkilgard@gmail.com, cdalton@nvidia.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/22686002 git-svn-id: http://skia.googlecode.com/svn/trunk@11667 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
234d4fba75aac009e34c088037fcd9e244798c40 |
|
30-Sep-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Mark when effects and programs have vertex code Adds a 'hasVertexCode' method to GrEffect and a 'fHasVertexCode' field to GrGLProgramDesc::KeyHeader. Also adds a GrVertexEffect class that effects have to inherit from in order to set the 'hasVertexCode' flag and be able to emit vertex code, and updates the existing effects to use it as needed. R=bsalomon@google.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/23653059 git-svn-id: http://skia.googlecode.com/svn/trunk@11537 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
f6de475e5cbd143f348ff7738919e397b7fe7f57 |
|
17-Aug-2013 |
tfarina@chromium.org <tfarina@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
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
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
5c493d5b3dc753fccba47c8250fb38713bac3cb8 |
|
14-Jun-2013 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Housekeeper-Nightly git-svn-id: http://skia.googlecode.com/svn/trunk@9602 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
eb6879f50a5564eeb981ec5616b55bf685eb76fc |
|
13-Jun-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Replace fixed-size array of effect stages in GrDrawState with two appendable arrays, one for color, one for coverage. R=robertphillips@google.com Review URL: https://codereview.chromium.org/16952006 git-svn-id: http://skia.googlecode.com/svn/trunk@9592 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
2c84aa35988c661b3e5513c8ba9b3959832ff288 |
|
06-Jun-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
separate arrays for color and coverage effects. R=robertphillips@google.com Review URL: https://codereview.chromium.org/16180006 git-svn-id: http://skia.googlecode.com/svn/trunk@9465 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
2d816ad36e806e5b1cf3c447e547829bbbe74fd1 |
|
23-May-2013 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Housekeeper-Nightly git-svn-id: http://skia.googlecode.com/svn/trunk@9252 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
2db3ded335fdb6697623bece61cabc307a414770 |
|
22-May-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Make GrGLProgramDesc's key variable length by compacting the effect key array R=robertphillips@google.com Review URL: https://codereview.chromium.org/15252004 git-svn-id: http://skia.googlecode.com/svn/trunk@9239 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
0c89db2929657f06ea7fac886e5f156ba1b37b7e |
|
15-May-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Disable blending when there is an effect that reads the dst and draw state blend is 1,0. R=robertphillips@google.com Review URL: https://codereview.chromium.org/15199008 git-svn-id: http://skia.googlecode.com/svn/trunk@9147 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
b515881446c303a50d9b2dd38b9163b4e5c625a2 |
|
13-May-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Key shader on whether frag pos read is relative to top-left or bottom-left R=robertphillips@google.com Review URL: https://codereview.chromium.org/14633007 git-svn-id: http://skia.googlecode.com/svn/trunk@9113 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
8d47ddc19a40d1984bf1f384d711d36ab59fd1c0 |
|
09-May-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Make GrGLShaderBuilder check whether GrEffect advertised that it would require the dst color or fragment position R=senorblanco@chromium.org, robertphillips@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/14998007 git-svn-id: http://skia.googlecode.com/svn/trunk@9074 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
6b0cf0273fdffbbdf69235b57b5b5a311e7f1ca6 |
|
03-May-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add support for GL_*_shader__framebuffer_fetch R=robertphillips@google.com Review URL: https://codereview.chromium.org/14875002 git-svn-id: http://skia.googlecode.com/svn/trunk@8980 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
5920ac276877b36624e07baf97c7768e80a07f98 |
|
19-Apr-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Perform coverage blend with the dst in the shader when using a dst-reading xfermode. Review URL: https://codereview.chromium.org/14233006 git-svn-id: http://skia.googlecode.com/svn/trunk@8762 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
054ae99d93711c26e40682a0e3a03a47ea605c53 |
|
01-Apr-2013 |
jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Take two for r8466: Replace the old attribute binding and index interface with one where we include the binding as part of the attribute array. Also removed the fixed attribute indices for constant color and coverage attributes, and replaced with dynamic ones based on current attribute set. Removed binding of color and coverage attributes unless they're actually set. Original author: bsalomon@google.com Author: jvanverth@google.com Reviewed By: bsalomon@google.com,robertphillips@google.com Review URL: https://chromiumcodereview.appspot.com/13296005 git-svn-id: http://skia.googlecode.com/svn/trunk@8468 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
c7bf2963f00a29bd28e5e2a446da79f93c1d9383 |
|
01-Apr-2013 |
jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Rolling back r8466. Not reviewed. git-svn-id: http://skia.googlecode.com/svn/trunk@8467 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
fb495b537f5ddd6966f02cfe38f6b106a4869934 |
|
01-Apr-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Revise attribute binding interface. Replace the old attribute binding and index interface with one where we include the binding as part of the attribute array. Also removed the fixed attribute indices for constant color and coverage attributes, and replaced with dynamic ones based on current attribute set. Removed binding of color and coverage attributes unless they're actually set. Original author: bsalomon@google.com Author: jvanverth@google.com Reviewed By: bsalomon@google.com,robertphillips@google.com Review URL: https://chromiumcodereview.appspot.com/13296005 git-svn-id: http://skia.googlecode.com/svn/trunk@8466 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
26e18b593ab65e4d92dfbce92579d8bc180d4c2c |
|
29-Mar-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add support for reading the dst pixel value in an effect. Use in a new effect for the kDarken xfer mode. The current implementation is to always make a copy of the entire dst before the draw. It will only succeed if the RT is also a texture. Obviously, there is lots of room for improvement. Review URL: https://codereview.chromium.org/13314002 git-svn-id: http://skia.googlecode.com/svn/trunk@8449 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|
798c8c4fe61f2172ae52cb626843a64069e18882 |
|
27-Mar-2013 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Move GrGLProgramDesc::Build to new cpp file. Review URL: https://codereview.chromium.org/13097007 git-svn-id: http://skia.googlecode.com/svn/trunk@8414 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgramDesc.cpp
|