bsalomon@google.com
7ac249bdc7
Enable SSAA on inverse filled paths
...
Review URL: http://codereview.appspot.com/4613044/
git-svn-id: http://skia.googlecode.com/svn/trunk@1584 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-14 18:46:24 +00:00
tomhudson@google.com
747bf293d4
FBO probing at Context startup is very expensive. This patch removes the
...
test of whether FBOs work at all, and adds parameters to the GrGLInterface
so that values can be passed into the Context creation routines instead
of executing the probes.
The GrGLInterface now defaults to run FBO tests on Android (since hardware
varies), but assumes success on desktop and software platforms.
git-svn-id: http://skia.googlecode.com/svn/trunk@1582 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-14 18:16:52 +00:00
bsalomon@google.com
3914958a49
Fix text-as-path with skshader on gpu
...
Review URL: http://codereview.appspot.com/4576057/
git-svn-id: http://skia.googlecode.com/svn/trunk@1575 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-13 21:55:32 +00:00
bsalomon@google.com
79d2dbed5a
uint32_t -> int for texture extents
...
Review URL: http://codereview.appspot.com/4584053/
git-svn-id: http://skia.googlecode.com/svn/trunk@1574 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-13 19:28:02 +00:00
bsalomon@google.com
919583674b
Consider hw render target limit for offscreen supersample and tile
...
Review URL: http://codereview.appspot.com/4575041/
git-svn-id: http://skia.googlecode.com/svn/trunk@1568 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-13 17:58:13 +00:00
junov@google.com
53a5584bb0
Adding functionality for purgin graphics resource handles
...
This will allow a fix to WebKit for preventing a crash when the graphics
context is destroyed before the GrContext
BUG=http://code.google.com/p/chromium/issues/detail?id=85309
git-svn-id: http://skia.googlecode.com/svn/trunk@1551 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-08 22:55:10 +00:00
reed@google.com
9b24d25c6b
include SkTypes.h
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1474 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-01 20:27:53 +00:00
bsalomon@google.com
d7beab4252
Fix copy/paste bug that checks same stencil field twice in isDisabled().
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1442 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-27 16:42:30 +00:00
bungeman@google.com
8c5753ea2e
Fixed point no longer crashes when GL enabled in gm tests.
...
http://codereview.appspot.com/4532073/
git-svn-id: http://skia.googlecode.com/svn/trunk@1394 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-20 19:11:50 +00:00
bsalomon@google.com
0251b2fe99
Tag GrPrintf with GR_API so that it is exposed to users of a Skia DLL
...
Review URL: http://codereview.appspot.com/4530059/
git-svn-id: http://skia.googlecode.com/svn/trunk@1392 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-20 18:50:54 +00:00
bsalomon@google.com
271cffc77b
Add dual source blending support for proper blending with coverage.
...
Review URL: http://codereview.appspot.com/4535088/
git-svn-id: http://skia.googlecode.com/svn/trunk@1390 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-20 14:13:56 +00:00
bsalomon@google.com
2368f6f572
Remove createPlatformRenderTarget, undeprecate createRenderTargetFrom3DAPIState
...
Review URL: http://codereview.appspot.com/4552053/
git-svn-id: http://skia.googlecode.com/svn/trunk@1387 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-19 21:22:39 +00:00
senorblanco@chromium.org
64cc579efa
The plain Makefile was using -Wall, but the gyp build wasn't. This CL turns on
...
-Wall -Wextra and -Wno-unused in common.gypi. This revealed a lot of warnings
(and some actual bugs), all of which I fixed here. This is pretty mindless
stuff for the most part (order of intialization, missing initializers, && within
||, etc), but will allow us to build cleanly with -Wall and -Wextra (and
-Werror, if we so choose).
I put defaults into switches that were missing cases. I could put in the actual
missing enums instead if that's desired. I could also assert on missing enums
instead of break, if that's desired. I wasn't sure how to test the stuff in
"animator", so that should be looked at a bit more closely.
Review URL: http://codereview.appspot.com/4547055/
git-svn-id: http://skia.googlecode.com/svn/trunk@1386 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-19 19:58:58 +00:00
senorblanco@chromium.org
ef3913bcbf
Batch up draws into triangle fans as large as possible when drawing convex
...
edge AA polys, so we minimize state changes and GL calls. This requires
querying GL for the maximum number of fragment uniforms. It also makes the
shader generator produce custom shaders for the number of relevant edges.
This gives a ~5X speedup on the "Shapes" SampleApp.
Review URL: http://codereview.appspot.com/4536070/
git-svn-id: http://skia.googlecode.com/svn/trunk@1380 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-19 17:11:07 +00:00
bsalomon@google.com
00e17c5a1b
Fix uninit of mask var
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1369 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-18 19:02:42 +00:00
bsalomon@google.com
26c2d0a69e
Use coverage stages for supersample AA resolve, edgeAA, and glyph masks. Expose a mask stage through GrPaint
...
Review URL: http://codereview.appspot.com/4548048/
git-svn-id: http://skia.googlecode.com/svn/trunk@1356 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-17 20:15:30 +00:00
junov@google.com
d31cbc4650
Removing remnants of GrGLEffect.
...
Bug: http://code.google.com/p/skia/issues/detail?id=264
Code review: http://codereview.appspot.com/4517073/
git-svn-id: http://skia.googlecode.com/svn/trunk@1350 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-17 17:01:17 +00:00
bsalomon@google.com
f2d91557b2
separate coverage stages from color stages.
...
Review URL: http://codereview.appspot.com/4538064/
git-svn-id: http://skia.googlecode.com/svn/trunk@1339 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-16 20:56:06 +00:00
junov@google.com
6acc9b3d2b
Fixed color bleeding issue when drawing a sub region of a bitmap with filtering enabled.
...
Problem was resolved by adding the notion of a custom texture domain in generated shaders, when necessary.
git-svn-id: http://skia.googlecode.com/svn/trunk@1337 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-16 18:32:07 +00:00
reed@google.com
07f3ee10d3
use SkPath for GrPath, removing GrPathIter entirely
...
http://codereview.appspot.com/4515071/
git-svn-id: http://skia.googlecode.com/svn/trunk@1335 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-16 17:21:57 +00:00
senorblanco@chromium.org
92e0f222fb
Edge antialiasing for convex shapes in Ganesh
...
This patch implements edge antialiasing for convex shapes, using the fragment
shader to compare against the edge equations for each triangle. Currently, it
only works for flat shaded primitives (i.e., it was not integrated into the
"active stages" path). The skia.gyp changes cause this code to be compiled into
SampleApp, but do not enable the tesselated path by default.
Notes: the SkOSWindow_Unix.cpp change is to silence a valgrind warning about
memcpy() with overlapping regions. The GrBinHashKey change is to avoid running
a two-pass hash (GrProgramDesc is now 52 bytes or so, exceeding the 32 byte
default size).
Review URL: http://codereview.appspot.com/4519054/
git-svn-id: http://skia.googlecode.com/svn/trunk@1314 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-12 15:49:15 +00:00
Scroggo
97c88c255c
Add color filters to gpu path.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1297 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-11 14:05:25 +00:00
bsalomon@google.com
cc4dac3dac
Make GrMatrix an alias of SkMatrix. Add new methods to SkMatrix.
...
Review URL: http://codereview.appspot.com/4538043/
Checked in on behalf of reed@ with some additional work (remove the do-nother sk->gr matrix converter).
git-svn-id: http://skia.googlecode.com/svn/trunk@1289 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-10 13:52:42 +00:00
reed@google.com
20efde71b4
Share code with SkRect
...
http://codereview.appspot.com/4523046/
git-svn-id: http://skia.googlecode.com/svn/trunk@1277 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-09 17:00:02 +00:00
reed@google.com
59f9961d00
remove #if 0 code
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1276 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-09 13:37:36 +00:00
reed@google.com
7744c205f2
use SkPoint, creating an alias for GrPoint
...
http://codereview.appspot.com/4498041/
git-svn-id: http://skia.googlecode.com/svn/trunk@1268 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-06 19:26:26 +00:00
reed@google.com
2e550127e6
share macros and types with SkScalar, but keep aliases for now, to avoid editing
...
call sites.
git-svn-id: http://skia.googlecode.com/svn/trunk@1267 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-06 17:30:45 +00:00
bsalomon@google.com
fc29629525
Replace GrStringBuilder with SkString. First step in cleaning up the shader generator. Slight performance hit when creating a new shader (<10% of total shader gen time on my Windows box is spent in building our string before handing it to GL). Much of this can be recovered by better usage pattern of SkString in coming revisions.
...
Review URL: http://codereview.appspot.com/4465053/
git-svn-id: http://skia.googlecode.com/svn/trunk@1266 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-06 13:53:47 +00:00
bsalomon@google.com
2ba4abbb31
Switch to GrGpuGLShaders (instead of GrGpuGLShaders2).
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1251 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-05 12:39:20 +00:00
bsalomon@google.com
6aef1fb4eb
Add 4x4 downsample filter with 4 bilinear texture reads, use for ssaa.
...
Review URL: http://codereview.appspot.com/4483042/
git-svn-id: http://skia.googlecode.com/svn/trunk@1250 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-05 12:33:22 +00:00
senorblanco@chromium.org
99c2a8b362
SampleApp builds skia on Linux with BGRA pixel order, but Ganesh's SampleApp
...
assumes GL_RGBA texture format on all platforms except Windows (where it uses
GL_BGRA), so texture colours come out wrong. As a temporary fix, do on Linux
what we do on Windows, and assume GL_BGRA. (This should be made more general
later, and the assumption of matching formats between Skia and Ganesh removed.)
Review URL: http://codereview.appspot.com/4474046/
git-svn-id: http://skia.googlecode.com/svn/trunk@1247 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-04 20:12:01 +00:00
bsalomon@google.com
bf2a46941e
Add all ES2 glUniform functions to GrGLInterface. Add interface validation for fixed pipe or shader pipe use.
...
Review URL: http://codereview.appspot.com/4435082/
git-svn-id: http://skia.googlecode.com/svn/trunk@1234 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-04 12:35:39 +00:00
bsalomon@google.com
05ef510389
Remove GrContext.h dependence on GrGpu.h
...
Review URL: http://codereview.appspot.com/4433096/
git-svn-id: http://skia.googlecode.com/svn/trunk@1227 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-02 21:14:59 +00:00
bsalomon@google.com
8295dc1474
4x4 SSAA with improvements in determination of when to apply. Still disabled at compile time.
...
Review URL: http://codereview.appspot.com/4445075/
git-svn-id: http://skia.googlecode.com/svn/trunk@1218 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-02 12:53:34 +00:00
bsalomon@google.com
6a77cc5dde
Fix warnings.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1209 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-28 17:33:34 +00:00
agl@chromium.org
83747252b8
Adding newline at end of file to fix compiler error.
...
Unreviewed, build fix.
git-svn-id: http://skia.googlecode.com/svn/trunk@1206 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-27 23:11:21 +00:00
bsalomon@google.com
06e1795cd9
Add bounding rect for paths
...
Review URL: http://codereview.appspot.com/4442094/
git-svn-id: http://skia.googlecode.com/svn/trunk@1205 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-27 21:13:04 +00:00
bsalomon@google.com
6aa25c3f55
Make Gr clear take a rect for a partial-clear
...
Review URL: http://codereview.appspot.com/4442093/
git-svn-id: http://skia.googlecode.com/svn/trunk@1203 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-27 19:55:29 +00:00
bsalomon@google.com
a47a48dca5
SSSA for drawVerts, cleanup determination of when stage is enabled
...
Review URL: http://codereview.appspot.com/4430066/
git-svn-id: http://skia.googlecode.com/svn/trunk@1195 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-26 20:22:11 +00:00
bsalomon@google.com
48ba56d5fa
Update GR_API to support non-Windows DLLs.
...
Review URL: http://codereview.appspot.com/4441067/
git-svn-id: http://skia.googlecode.com/svn/trunk@1189 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-26 17:59:32 +00:00
bsalomon@google.com
06afe7b5a1
Per-draw super sampling. Disabled, path only, 2x2 only
...
Review URL: http://codereview.appspot.com/4452048/
git-svn-id: http://skia.googlecode.com/svn/trunk@1186 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-26 15:31:40 +00:00
bsalomon@google.com
a39f404c87
Remove sampler state param from lockKeylessTexture. It didn't serve any function and gave the false impression that tiling modes were handled on APIs with npot limitations.
...
http://codereview.appspot.com/4444061/
git-svn-id: http://skia.googlecode.com/svn/trunk@1181 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-26 13:18:16 +00:00
bsalomon@google.com
0b335c1ac1
Make clear a GrDrawTarget virtual method and implement in GrInOrderDrawBuffer
...
Review URL: http://codereview.appspot.com/4442081/
git-svn-id: http://skia.googlecode.com/svn/trunk@1176 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-25 19:17:44 +00:00
bsalomon@google.com
fea37b5e53
Add lockKeylessTexture() for caching texture without a content key.
...
Review URL: http://codereview.appspot.com/4440065/
git-svn-id: http://skia.googlecode.com/svn/trunk@1172 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-25 15:51:06 +00:00
bsalomon@google.com
205d46067a
Move alpha-ramp AA to GrContext, detect cases when AA is applied via other methods (smooth lines, MSAA) or rect falls on integer coords and skip the alpha ramp path. Use pre-fab index buffer for alpha-ramped fill rects and stroke rects.
...
Review URL: http://codereview.appspot.com/4449047/
git-svn-id: http://skia.googlecode.com/svn/trunk@1169 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-25 12:43:45 +00:00
bsalomon@google.com
a55847ba22
Fix alignment issues with stack allocated memory allocated as bytes but used to hold other types.
...
Review URL: http://codereview.appspot.com/4435060/
git-svn-id: http://skia.googlecode.com/svn/trunk@1162 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-20 15:47:04 +00:00
bsalomon@google.com
4be283f3a8
Adds a build flag for GL to never use vertex attributes that don't have per-vertex values.
...
Also promotes the ATTRIBUTE_MATRIX flag that was local to cpp files to the public config file.
Review URL: http://codereview.appspot.com/4434057/
git-svn-id: http://skia.googlecode.com/svn/trunk@1155 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-19 21:15:09 +00:00
bsalomon@google.com
398109cc3e
rename SkDevice::eraseColor to clear and make virtual.
...
Properly flush in GrContext before calling GrGpu::clear()
Review URL: http://codereview.appspot.com/4419043/
git-svn-id: http://skia.googlecode.com/svn/trunk@1130 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-14 18:40:27 +00:00
bsalomon@google.com
9ccdb95319
NO_ERROR version of GR_GL macro shouldn't call check errror
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1128 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-14 17:43:23 +00:00
bsalomon@google.com
399d454be9
test of writable Skia tree in a chrome tree.
...
(removed an extra newline from FlingState.h)
git-svn-id: http://skia.googlecode.com/svn/trunk@1122 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-13 21:28:23 +00:00