Commit Graph

52 Commits

Author SHA1 Message Date
bsalomon@google.com
1c13c9668a Refactor how Gr handles vertex and index data. GrGpu and GrInOrderDrawBuffer both GrBufferAllocPool to manage reserved and set-to-array vertex and index data.
rietveld issue 4188049

git-svn-id: http://skia.googlecode.com/svn/trunk@786 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-14 16:51:21 +00:00
bsalomon@google.com
1b7c1b6fa8 Remove debugging printf that was accidentally left in 783.
git-svn-id: http://skia.googlecode.com/svn/trunk@784 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-11 14:45:11 +00:00
bsalomon@google.com
7acdb8e1d2 git-svn-id: http://skia.googlecode.com/svn/trunk@783 2bbb7eff-a529-9590-31e7-b0007b416f81 2011-02-11 14:07:02 +00:00
bsalomon@google.com
18908aacf3 When we create the GL context and FBO on mac for the GM test also setup the viewport and clear the stencil.
In GrGpuGL::readPixels make sure current rendertarget has been made current in GL before calling glReadPixels



git-svn-id: http://skia.googlecode.com/svn/trunk@761 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-07 14:51:55 +00:00
reed@google.com
b89a643b69 fix warning about size_t >= 0 (which must always be true)
git-svn-id: http://skia.googlecode.com/svn/trunk@760 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-07 13:20:30 +00:00
bsalomon@google.com
1962832771 Fix warnings on linux build (strict aliasing, cons init order, vars used only in asserts)
git-svn-id: http://skia.googlecode.com/svn/trunk@756 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-03 21:30:17 +00:00
bsalomon@google.com
d16983b31f Make aggressive shader opts an option in GrUserConfig.h. Currently just controls whether color=white optimization is applied (eliminates reading color varying and modulation by color). This was already a compile time option just not exposed through user config.
git-svn-id: http://skia.googlecode.com/svn/trunk@754 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-02 22:42:20 +00:00
bsalomon@google.com
4333323006 Make enabling static rect VB configurable by user config file.
git-svn-id: http://skia.googlecode.com/svn/trunk@753 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-02 19:24:54 +00:00
bsalomon@google.com
0748f217ba Attempt to simplify NPOT texture caps. Also fixes case where textures would unnecessarily be bloated to POT. Adds setting of sampler's filter setting in paint conversion.
git-svn-id: http://skia.googlecode.com/svn/trunk@751 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-01 22:56:16 +00:00
bsalomon@google.com
6f7fbc9fbb Adds ability to draw rects using a unit square vertex buffer. Useful when matrix/uniform changes are less expensive than sending new verts.
Adds optional matrix parameters to GrContext drawRect and drawRectToRect so that non-axis-aligned matrices can be drawn using these functions.

codereview Issue 4105049

git-svn-id: http://skia.googlecode.com/svn/trunk@749 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-01 19:12:40 +00:00
reed@google.com
5f6ee1a807 initialize int var-args to placate chrome's runtime check
git-svn-id: http://skia.googlecode.com/svn/trunk@746 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-31 14:24:48 +00:00
reed@google.com
02a7e6c117 fix slow performance on desktops by uping our max-texture-dim from 512 to
whatever the gpu itself broadcasts.



git-svn-id: http://skia.googlecode.com/svn/trunk@742 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-28 21:21:49 +00:00
reed@google.com
d2938db1d9 replace UINT32_MAX with portable macro
git-svn-id: http://skia.googlecode.com/svn/trunk@741 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-28 20:54:15 +00:00
reed@google.com
e42e8452aa work around framebuffer_blit confusion on linux -- better fix on the way
git-svn-id: http://skia.googlecode.com/svn/trunk@737 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-26 17:20:51 +00:00
reed@google.com
9341bb6f46 fix linux gpu build (don't need egl.h)
-This line, and those below, will be ignored--

M    trunk/gpu/include/GrGLConfig.h


git-svn-id: http://skia.googlecode.com/svn/trunk@736 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-26 17:11:51 +00:00
reed@google.com
8752ad7b2d close quotes on #error
git-svn-id: http://skia.googlecode.com/svn/trunk@734 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-26 04:55:57 +00:00
reed@google.com
386900790b fix warnings, including using GrTCast<> to go from &Obj -> uint32_t*
git-svn-id: http://skia.googlecode.com/svn/trunk@732 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-26 01:44:18 +00:00
reed@google.com
c921843d85 fixes for some warnings:
- #if of something that was not defined
- explicit constructor call for baseclass in copy-constructor of subclass

http://code.google.com/p/skia/issues/detail?id=112



git-svn-id: http://skia.googlecode.com/svn/trunk@727 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 19:05:12 +00:00
reed@google.com
664a843e8b chrome always assumes BGRA for its textures
git-svn-id: http://skia.googlecode.com/svn/trunk@724 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 15:24:55 +00:00
bsalomon@google.com
596189a049 Add GrGpuGLShaders2 to gr_files.mk
git-svn-id: http://skia.googlecode.com/svn/trunk@722 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-24 18:19:55 +00:00
bsalomon@google.com
7d34d2eecc Increase number of stages from 1 to 2
Move GrTextContext from stage 0 to stage 1 so it doesn't conflict with GrPaint (allow textured text)
Switch to dynamically generated shaders



git-svn-id: http://skia.googlecode.com/svn/trunk@721 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-24 17:41:47 +00:00
bsalomon@google.com
5782d712ff Rev the GrContext interface. Context has draw* functions that take a new GrPaint object. Removed many of the lower-level GrGpu function call-throughs on context.
Remove unused/unsupported point size (we don't draw non-hairline points using GL points).
Change current* getter functions to get* for consistency.
Fix bounds when drawing inverse-filled paths.


git-svn-id: http://skia.googlecode.com/svn/trunk@718 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-21 21:03:59 +00:00
bsalomon@google.com
70915f0210 In GrMatrix's setScale, setSkew, & setTranslate check whether the values passed in make the matrix identity before setting the typemask.
git-svn-id: http://skia.googlecode.com/svn/trunk@717 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-20 14:13:13 +00:00
reed@google.com
3d8de049f5 replace GR_GL(GetIntegerv with GR_GL_GetIntegerv to ensure that we zero-init
the var-arg (needed for chrome)



git-svn-id: http://skia.googlecode.com/svn/trunk@716 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-20 02:18:00 +00:00
reed@google.com
bf858b7ef0 update chrome-specific glconfig (should make versions of this for mac/win/linux)
git-svn-id: http://skia.googlecode.com/svn/trunk@715 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-19 19:04:04 +00:00
reed@google.com
ba8efc8447 add experimental custom GL header for chrome
git-svn-id: http://skia.googlecode.com/svn/trunk@714 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-19 17:35:08 +00:00
bsalomon@google.com
42ab7ea76e Cleanup including of GL headers and provide way to include custom headers, extension getter.
git-svn-id: http://skia.googlecode.com/svn/trunk@713 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-19 17:19:40 +00:00
reed@google.com
117cc39f63 document new (temporary) build flags
git-svn-id: http://skia.googlecode.com/svn/trunk@711 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-19 13:19:27 +00:00
reed@google.com
f44aa376f0 add compile flag GR_SKIP_2POINTRADIAL_PROGRAMS to ignore the 2point-radial
shader programs (for now), which have problematic on some GPUs



git-svn-id: http://skia.googlecode.com/svn/trunk@710 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-19 13:15:36 +00:00
reed@google.com
01804b44f9 add getter/setter for TextureCache, so that clients can make their budget
decisions at runtime or per-context, rather than just at compile-time. Leaving
in the default values as is.



git-svn-id: http://skia.googlecode.com/svn/trunk@709 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-18 21:50:41 +00:00
reed@google.com
63100f9e36 add GR_BUILD_CHROME for now. hopefully we can replace it with other,
non-chrome-specific refactoring to accomodate those differences.



git-svn-id: http://skia.googlecode.com/svn/trunk@708 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-18 21:32:14 +00:00
bsalomon@google.com
2e7b43d33c Remove notion of default rendertarget. This doesn't map well to usage patterns outside sample app. Make binding between SkGpuDevice and a GrRenderTarget more explicit. Create method on GrContext to wrap the current target in the 3D API with a GrRenderTarget.
git-svn-id: http://skia.googlecode.com/svn/trunk@706 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-18 20:57:22 +00:00
bsalomon@google.com
3f3ffd6ad9 Fix stencil format array.
git-svn-id: http://skia.googlecode.com/svn/trunk@703 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-18 17:14:52 +00:00
bsalomon@google.com
ed3a06804f Fix BGRA on ES Issue 109.
git-svn-id: http://skia.googlecode.com/svn/trunk@702 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-18 16:54:04 +00:00
bsalomon@google.com
1572b071a7 Fix vertex buffer size computation when deferred text is disabled. This change makes it consistent with recent changes to the vertex layout bitfield in Issue 106.
git-svn-id: http://skia.googlecode.com/svn/trunk@701 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-18 15:30:57 +00:00
bsalomon@google.com
316f9923cb Use macro to call gl.
git-svn-id: http://skia.googlecode.com/svn/trunk@696 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-13 21:28:12 +00:00
reed@google.com
d728f6ecfa Remove static from template specilizations (linux build complained)
git-svn-id: http://skia.googlecode.com/svn/trunk@695 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-13 20:02:47 +00:00
bsalomon@google.com
8531c1cea2 Towards issue #106
Adds notion of texture multiple stages but currently just uses 1.


git-svn-id: http://skia.googlecode.com/svn/trunk@694 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-13 19:52:45 +00:00
bsalomon@google.com
a827b41439 Should be calculating alignment based on the vertex size.
git-svn-id: http://skia.googlecode.com/svn/trunk@690 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-12 21:20:18 +00:00
reed@google.com
8195f67427 rename DrawState to DrState -- MS decided to #define DrawState, complicating
our (compiler) lives :(



git-svn-id: http://skia.googlecode.com/svn/trunk@689 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-12 18:14:28 +00:00
reed@google.com
ac20fb9955 add helpers to initialize our var-int args before calling GL. Some drivers
assert that those are zero on input, even though they are logically
output-only parameters.



git-svn-id: http://skia.googlecode.com/svn/trunk@688 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-12 17:14:53 +00:00
bsalomon@google.com
2fbc7fa460 Make SampleApp build on Win32 (still requires glew, this needs to be fixed)
In fbo test funciton set min filter to nearest (for systems that don't support rendering to level of a texture that isn't mip map complete.)
Add a lot more sample slides to the win32 build
Fix texture red/blue color swap on windows.

git-svn-id: http://skia.googlecode.com/svn/trunk@677 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-05 16:34:41 +00:00
reed@google.com
1fcd51e6b2 add template macro to "safely" perform casts w/o breaking strict-aliasing
fix aliasing warnings



git-svn-id: http://skia.googlecode.com/svn/trunk@674 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-05 15:50:27 +00:00
bsalomon@google.com
e9557f946e Fix bug where createTexture may bind a texture to GL without ever updating fHWState.fTexture (when texture is not bound to FBO).
Other minor changes:
Add commented out GL logging define to GrUserConfig
Remove dead GrGpuD3D9 file from xcode proj



git-svn-id: http://skia.googlecode.com/svn/trunk@663 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 20:59:40 +00:00
reed@google.com
37df17d164 fix build for linux
partial impl for GPU on linux (need getProcAddress and SkEGLContext)



git-svn-id: http://skia.googlecode.com/svn/trunk@661 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 20:20:51 +00:00
bsalomon@google.com
da96ea01fe Stop using GrSamplerState to track the texture parameters for GL textures. It has become larger and now holds state that isn't tracked per-texture by GL. Also remove unused setSamplerStateImm from GrGpuGL
git-svn-id: http://skia.googlecode.com/svn/trunk@659 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 16:53:57 +00:00
bsalomon@google.com
ef152364cb Delete D3D9 gpu class. Was fixed-function only, had significant defeciencies around vertex array formats, and is hasn't been updated with respect to parent class changes (won't compile).
git-svn-id: http://skia.googlecode.com/svn/trunk@656 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 16:04:36 +00:00
reed@google.com
eeeb5a05b9 silence some of our startup spew
tie skia and gr's debug symbols together in the Makefile



git-svn-id: http://skia.googlecode.com/svn/trunk@654 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 15:12:59 +00:00
reed@google.com
873cb1e23b add gpu to the default makefile
move skia-gpu files into skia/src/gpu



git-svn-id: http://skia.googlecode.com/svn/trunk@653 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 15:00:45 +00:00
reed@google.com
313e403583 flush inorder drawtarget (i.e. flushText) before we purge the atlas/cache
git-svn-id: http://skia.googlecode.com/svn/trunk@651 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-22 22:16:59 +00:00