aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl
Commit message (Collapse)AuthorAge
* Allow GrGLEffects to produce variable length keys.Gravatar bsalomon2014-07-21
| | | | | | | | R=robertphillips@google.com, jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/385713005
* Replace GrTHash with SkTDynamicHashGravatar robertphillips2014-07-20
| | | | | | | | | | | | | Mike: SkTDynamicHash changes Brian: Ganesh changes This removes three instances of GrTHash leaving the ones in GrTextStrike.h R=mtklein@google.com, bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/402693003
* Revert of Use the GrCacheable ID to eliminate the need for notifications to ↵Gravatar robertphillips2014-07-20
| | | | | | | | | | | | | | | | | | | | | | | GrGpuGL when textures and RTs are… (https://codereview.chromium.org/376703009/) Reason for revert: Trying to unblock roll wedged on 64 bit intrinsic call on XP Original issue's description: > Use the GrCacheable ID to eliminate the need for notifications to GrGpuGL when textures and RTs are deleted. > > Also, rename GrCacheable::getGenerationID() to getInstanceID() since it doesn't behave like other "generation" IDs. > > Committed: https://skia.googlesource.com/skia/+/91bdbcdbbdf5cdf0fdb4518a0d30206c964cfdf6 R=jvanverth@google.com, bsalomon@google.com TBR=bsalomon@google.com, jvanverth@google.com NOTREECHECKS=true NOTRY=true Author: robertphillips@google.com Review URL: https://codereview.chromium.org/405023003
* Fix alpha textures in NV ES3 contexts on Windows.Gravatar bsalomon2014-07-17
| | | | | | | | | | | | Make unit tests iterate over all the rendering GL context types rather than using kNative. Fix the extension printing when gStartupSpew is set. R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/398183002
* Add IsPath to GrGLInterfaceGravatar cdalton2014-07-17
| | | | | | | | | | | This will be used by path ranges. BUG=skia: R=bsalomon@google.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/403563002
* Use the GrCacheable ID to eliminate the need for notifications to GrGpuGL ↵Gravatar bsalomon2014-07-17
| | | | | | | | | | | | when textures and RTs are deleted. Also, rename GrCacheable::getGenerationID() to getInstanceID() since it doesn't behave like other "generation" IDs. R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/376703009
* Makes GrGLProgramDesc's key store the lengths as well as offsets of the ↵Gravatar bsalomon2014-07-17
| | | | | | | | | | | | | | | | effect keys. Makes it possible to use GrBackendEffectFactories other than GrTBEF by moving meta-key generation out of GrTBEF. Cleans up docs around GrBackendEffectFactory. Committed: https://skia.googlesource.com/skia/+/c0ea398aff8254e31152cbb94c9ab6150428e252 R=robertphillips@google.com, jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/379113004
* Add new ASTC pixel configGravatar krajcevski2014-07-16
| | | | | | | | R=bsalomon@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/399623004
* 32 bpp floating point texturesGravatar joshualitt2014-07-16
| | | | | | | | | | | This is VERY preliminary, but it was sufficient for me to get 32 bit floating point textures in a sample app BUG=skia: R=bsalomon@chromium.org, bsalomon@google.com Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/359803003
* Revert of Reopened: Caching the result of readPixelsSupported ↵Gravatar bungeman2014-07-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/364193004/) Reason for revert: This appears to be causing failures on Android when running tests. Original issue's description: > Caching the result of readPixelsSupported > > The call was calling GR_GL_GetIntegerv 2 times for each readPixels > and thus was causing a loss of performance > > (resubmit of issue 344793008) > > Benchmark url: http://packages.gkny.fr/tst/index.html > > BUG=skia:2681 > > Committed: https://skia.googlesource.com/skia/+/753a2964afe5661ce9b2a8ca77ca9d0aabd3173c > > Committed: https://skia.googlesource.com/skia/+/8339371f1ec3c57a0741932fd96bff32c53d4e54 R=junov@chromium.org, reed@chromium.org, bsalomon@chromium.org, mtklein@google.com, bsalomon@google.com, piotaixr@chromium.org TBR=bsalomon@chromium.org, bsalomon@google.com, junov@chromium.org, mtklein@google.com, piotaixr@chromium.org, reed@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia:2681 Author: bungeman@google.com Review URL: https://codereview.chromium.org/395203002
* Revert of Makes GrGLProgramDesc's key store the lengths as well as offsets ↵Gravatar mtklein2014-07-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of the effect keys. (https://codereview.chromium.org/379113004/) Reason for revert: Most likely candidate for Valgrind failures: [21:10:08.755668] ==3036== Use of uninitialised value of size 8 [21:10:08.755753] ==3036== at 0x734AB2: GrGpuGL::ProgramCache::getProgram(GrGLProgramDesc const&, GrEffectStage const**, GrEffectStage const**) (GrGpuGL_program.cpp:107) [21:10:08.755788] ==3036== by 0x734ED2: GrGpuGL::flushGraphicsState(GrGpu::DrawType, GrDeviceCoordTexture const*) (GrGpuGL_program.cpp:253) [21:10:08.755811] ==3036== by 0x6E81C2: GrGpu::setupClipAndFlushState(GrGpu::DrawType, GrDeviceCoordTexture const*, GrDrawState::AutoRestoreEffects*, SkRect const*) (GrGpu.cpp:350) [21:10:08.755837] ==3036== by 0x6E9BE8: GrGpu::onDraw(GrDrawTarget::DrawInfo const&) (GrGpu.cpp:390) [21:10:08.755858] ==3036== by 0x6EEECE: GrInOrderDrawBuffer::flush() (GrDrawTarget.h:506) [21:10:08.755879] ==3036== by 0x6D0EB4: GrContext::flush(int) (GrContext.cpp:1327) [21:10:08.755900] ==3036== by 0x6D3F8F: GrContext::writeTexturePixels(GrTexture*, int, int, int, int, GrPixelConfig, void const*, unsigned long, unsigned int) (GrContext.cpp:1349) [21:10:08.755922] ==3036== by 0x6D39D7: GrContext::writeRenderTargetPixels(GrRenderTarget*, int, int, int, int, GrPixelConfig, void const*, unsigned long, unsigned int) (GrContext.cpp:1632) [21:10:08.755949] ==3036== by 0x6FFDF3: GrRenderTarget::writePixels(int, int, int, int, GrPixelConfig, void const*, unsigned long, unsigned int) (GrRenderTarget.cpp:45) [21:10:08.755978] ==3036== by 0x735563: SkGpuDevice::onWritePixels(SkImageInfo const&, void const*, unsigned long, int, int) (SkGpuDevice.cpp:280) [21:10:08.756003] ==3036== by 0x57A048: SkBaseDevice::writePixels(SkImageInfo const&, void const*, unsigned long, int, int) (SkDevice.cpp:106) [21:10:08.756025] ==3036== by 0x56D0AE: SkCanvas::writePixels(SkImageInfo const&, void const*, unsigned long, int, int) (SkCanvas.cpp:700) [21:10:08.756050] ==3036== by 0x56D156: SkCanvas::writePixels(SkBitmap const&, int, int) (SkCanvas.cpp:652) [21:10:08.756077] ==3036== by 0x5109B6: test_WritePixels(skiatest::Reporter*, GrContextFactory*) (WritePixelsTest.cpp:464) [21:10:08.756099] ==3036== by 0x51114C: skiatest::WritePixelsClass::onRun(skiatest::Reporter*) (WritePixelsTest.cpp:361) [21:10:08.756122] ==3036== by 0x406BE8: skiatest::Test::run() (Test.cpp:107) [21:10:08.756145] ==3036== by 0x4064C2: SkTestRunnable::run() (skia_test.cpp:109) [21:10:08.756167] ==3036== by 0x405D1A: tool_main(int, char**) (skia_test.cpp:221) [21:10:08.756189] ==3036== by 0x405F75: main (skia_test.cpp:239) [21:10:08.756211] ==3036== Uninitialised value was created by a stack allocation [21:10:08.756233] ==3036== at 0x734CC8: GrGpuGL::flushGraphicsState(GrGpu::DrawType, GrDeviceCoordTexture const*) (GrGpuGL_program.cpp:213) Original issue's description: > Makes GrGLProgramDesc's key store the lengths as well as offsets of the effect keys. > > Makes it possible to use GrBackendEffectFactories other than GrTBEF by moving meta-key generation out of GrTBEF. > > Cleans up docs around GrBackendEffectFactory. > > Committed: https://skia.googlesource.com/skia/+/c0ea398aff8254e31152cbb94c9ab6150428e252 R=robertphillips@google.com, jvanverth@google.com, bsalomon@google.com TBR=bsalomon@google.com, jvanverth@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: mtklein@google.com Review URL: https://codereview.chromium.org/394213002
* Makes GrGLProgramDesc's key store the lengths as well as offsets of the ↵Gravatar bsalomon2014-07-15
| | | | | | | | | | | | | | effect keys. Makes it possible to use GrBackendEffectFactories other than GrTBEF by moving meta-key generation out of GrTBEF. Cleans up docs around GrBackendEffectFactory. R=robertphillips@google.com, jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/379113004
* Caching the result of readPixelsSupportedGravatar piotaixr2014-07-15
| | | | | | | | | | | | | | | | | | | The call was calling GR_GL_GetIntegerv 2 times for each readPixels and thus was causing a loss of performance (resubmit of issue 344793008) Benchmark url: http://packages.gkny.fr/tst/index.html BUG=skia:2681 Committed: https://skia.googlesource.com/skia/+/753a2964afe5661ce9b2a8ca77ca9d0aabd3173c R=junov@chromium.org, reed@chromium.org, bsalomon@chromium.org, mtklein@google.com, bsalomon@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/364193004
* This moves us towards variable length effect keys. The overall program key ↵Gravatar bsalomon2014-07-11
| | | | | | | | | | now allows for it. After the header it stores an array of offsets to effect keys. This allows us to grab the effect keys to pass to effects when they generate code. It also ensures that we can't get a collision by sets of keys that are different lengths but are the same when appended together. R=robertphillips@google.com, jvanverth@google.com, egdaniel@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/356513003
* Revert of Remove gpu shader optimatization for solid white or trans black ↵Gravatar egdaniel2014-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | colors (https://codereview.chromium.org/375823005/) Reason for revert: possible test and gm failures Original issue's description: > Remove gpu shader optimatization for solid white or trans black colors > > Running test on the added bench which draws a grid of all white paths, all blue paths, or alternating checkered white/blue paths. > > With optimization in (ms): > White Blue Checkered > Linux ~80 ~80 ~160 > N7 ~800 ~1100 ~1500 > Moto-e ~830 ~1100 ~2500 > > Without optimization in (ms): > White Blue Checkered > Linux ~80 ~80 ~80 > N7 ~1100 ~1100 ~1100 > Moto-e ~1100 ~1100 ~1500 > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/5f78d2251a440443c9eaa321dad058d7a32bfef7 R=bsalomon@google.com TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: egdaniel@google.com Review URL: https://codereview.chromium.org/385163004
* Remove gpu shader optimatization for solid white or trans black colorsGravatar egdaniel2014-07-11
| | | | | | | | | | | | | | | | | | | | | | | Running test on the added bench which draws a grid of all white paths, all blue paths, or alternating checkered white/blue paths. With optimization in (ms): White Blue Checkered Linux ~80 ~80 ~160 N7 ~800 ~1100 ~1500 Moto-e ~830 ~1100 ~2500 Without optimization in (ms): White Blue Checkered Linux ~80 ~80 ~80 N7 ~1100 ~1100 ~1100 Moto-e ~1100 ~1100 ~1500 BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/375823005
* Improve gpu tracing when applying markers directly to gpu targetGravatar egdaniel2014-07-09
| | | | | | | | | | | | | | | | - Change the debug marker strings sent by the GrGpuGL target to only grab the last object added to the set of active markers. This improves the readability when we end up with a large stack of trace markers. Any trace markers the come from the IODB will continue to be squashed into a single debug marker - Added some more useful, high level markers BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/378933002
* Revert of Make GrGLConfigConversionEffect work for Imagination and some ↵Gravatar bsalomon2014-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | other GPUs. (https://codereview.chromium.org/277323002/) Reason for revert: Need to only use the highp variations on GLES contexts not GL contexts. http://108.170.220.120:10117/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Release/builds/3398/steps/RunTests/logs/stdio Original issue's description: > Make GrGLConfigConversionEffect work for Imagination and some other GPUs. > > BUG=372341 > > Committed: https://skia.googlesource.com/skia/+/93cf46f7d687128d2ad05762bd65fea6c4539553 R=tomhudson@chromium.org, changjun.yang@intel.com, rmistry@google.com, jcgregorio@google.com NOTREECHECKS=true NOTRY=true BUG=372341 Author: bsalomon@google.com Review URL: https://codereview.chromium.org/377263003
* Make GrGLConfigConversionEffect work for Imagination and some other GPUs.Gravatar changjun.yang2014-07-09
| | | | | | | | | BUG=372341 R=tomhudson@chromium.org, bsalomon@google.com Author: changjun.yang@intel.com Review URL: https://codereview.chromium.org/277323002
* Remove use of GrEffectRef from draw state and below.Gravatar bsalomon2014-07-07
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/372773002
* Add Instant Trace Event for shader compilation in gpu which outputs shader ↵Gravatar egdaniel2014-07-07
| | | | | | | | | | | text as attribute BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/368943002
* Revert of Caching the result of readPixelsSupported ↵Gravatar reed2014-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/364193004/) Reason for revert: appears to crash GM on Ubuntu and Win8 http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Release/builds/1237/steps/GenerateGMs/logs/stdio Original issue's description: > Caching the result of readPixelsSupported > > The call was calling GR_GL_GetIntegerv 2 times for each readPixels > and thus was causing a loss of performance > > (resubmit of issue 344793008) > > Benchmark url: http://packages.gkny.fr/tst/index.html > > BUG=skia:2681 > > Committed: https://skia.googlesource.com/skia/+/753a2964afe5661ce9b2a8ca77ca9d0aabd3173c R=junov@chromium.org, piotaixr@chromium.org TBR=junov@chromium.org, piotaixr@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia:2681 Author: reed@chromium.org Review URL: https://codereview.chromium.org/367323003
* Caching the result of readPixelsSupportedGravatar piotaixr2014-07-03
| | | | | | | | | | | | | | | | The call was calling GR_GL_GetIntegerv 2 times for each readPixels and thus was causing a loss of performance (resubmit of issue 344793008) Benchmark url: http://packages.gkny.fr/tst/index.html BUG=skia:2681 R=junov@chromium.org Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/364193004
* Add functions to support NV_path_rendering in OpenGL ESGravatar kkinnunen2014-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* When performing offscreen rendering on windows, attempt to use a pbuffer ↵Gravatar bsalomon2014-07-01
| | | | | | | | | | | | 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
* Fix ANGLE build wrong glGetString being called issueGravatar bsalomon2014-06-30
| | | | | | | | | R=robertphillips@google.com TBR=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/357343002
* R11 EAC texture compression is introduced as part of the OpenGL ES 3.0 spec. ↵Gravatar krajcevski2014-06-30
| | | | | | | | | | This is a format that will likely be required on most mobile phones in the upcoming years, making it better to target than LATC, which is only available on NVIDIA GPUs. R=bsalomon@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/330763008
* Support using OpenGL ES context on desktopGravatar kkinnunen2014-06-30
| | | | | | | | | | | | | | 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
* "interface" is defined in Windows headers, so undef it in GrGLCaps so we ↵Gravatar george2014-06-25
| | | | | | | | | | | don't have a name collision R=bsalomon@google.com, mtklein@google.com, bsalomon BUG=skia: Author: george@mozilla.com Review URL: https://codereview.chromium.org/344253003
* Remove special case gpu transforms for Identity and TranslateGravatar egdaniel2014-06-24
| | | | | | | | | | | | Change will remove some special cases for coord transforms in favor of not needing to compile a new program if the coord trans changes from one special case to another. BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/344233006
* Make GrGLShaderBuilder::fragmentPosition() return a vec4, with 1.0 as the zw ↵Gravatar bsalomon2014-06-24
| | | | | | | | | | | | | | components when in the y-flip case. This works around an Adreno driver bug. Revert "Stop referencing gl_FragCoord z and w components." This reverts commit 160a52ba217012ed73c240f6d67b3bbf2b4879d6. R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/354663002
* Revert of Support using OpenGL ES context on desktop ↵Gravatar rmistry2014-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* Revert of Add functions to support NV_path_rendering in OpenGL ES ↵Gravatar rmistry2014-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* Add functions to support NV_path_rendering in OpenGL ESGravatar kkinnunen2014-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Support using OpenGL ES context on desktopGravatar kkinnunen2014-06-22
| | | | | | | | | | | | | | 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
* Stop referencing gl_FragCoord z and w components.Gravatar bsalomon2014-06-20
| | | | | | | | | | This fixes an Adreno driver bug where GL programs fail to link if the FS refers to these components of gl_FragCoord. R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/345083002
* Fifth attempt to land faster rect blur. Remove unnecessary conditionals ↵Gravatar humper2014-06-17
| | | | | | | | | | | | | | | from the shader. approved over in https://codereview.chromium.org/331863006/; reuploading because it had the wrong base url BUG=skia:2095 R=bsalomon@google.com TBR=bsalomon Author: humper@google.com Review URL: https://codereview.chromium.org/341543005
* Revert of third try at landing improved blur rect; this time with more ↵Gravatar scroggo2014-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | correctness (https://codereview.chromium.org/331443003/) Reason for revert: Failing layout test: https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux/32762/layout-test-results/virtual/gpu/fast/canvas/canvas-draw-canvas-on-canvas-shadow-pretty-diff.html Original issue's description: > third try at landing improved blur rect; this time with more correctness > > BUG=skia:2095 > R=bsalomon@google.com > TBR=bsalomon > > Committed: https://skia.googlesource.com/skia/+/72abfc2b4e7caead660f6b6a05e60d05eaf1a66f R=bsalomon@google.com, reed@google.com, humper@google.com TBR=bsalomon@google.com, humper@google.com, reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2095 Author: scroggo@google.com Review URL: https://codereview.chromium.org/333763002
* Add ifdef to not use function pointer that we don't have yet on Chromium??Gravatar krajcevski2014-06-11
| | | | | | | | R=bsalomon@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/326423003
* Allow compressed texture data to be updated.Gravatar krajcevski2014-06-11
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/326383003
* Fix a number of issues with iOS build.Gravatar jvanverth2014-06-11
| | | | | | | | | | | | | Set pointer to root view in window (for SampleApp) Set up the correct function pointer for GL multisampling Remove use of SkBitmap::setConfig() Remove incomplete iOS implementation of SkFILE (use SkOSFile for now) R=caryclark@google.com, reed@google.com, bsalomon@google.com, tfarina@chromium.org Author: jvanverth@google.com Review URL: https://codereview.chromium.org/322403007
* third try at landing improved blur rect; this time with more correctnessGravatar humper2014-06-11
| | | | | | | | | | BUG=skia:2095 R=bsalomon@google.com TBR=bsalomon Author: humper@google.com Review URL: https://codereview.chromium.org/331443003
* Add support for glCompressedTexSubImage2DGravatar krajcevski2014-06-11
| | | | | | | | R=bsalomon@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/329213002
* Revert of second try at landing improved blur rect ↵Gravatar reed2014-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/325703002/) Reason for revert: broke some fast/canvas layout tests Original issue's description: > second try at landing improved blur rect > > BUG=skia:2095 > TBR=bsalomon > > Committed: https://skia.googlesource.com/skia/+/e9ea0d6b7d59ac3b7e257281e545b24bcc0d2a76 R=bsalomon@google.com, reed@chromium.org, humper@google.com TBR=bsalomon@google.com, humper@google.com, reed@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia:2095 Author: reed@google.com Review URL: https://codereview.chromium.org/322423002
* second try at landing improved blur rectGravatar humper2014-06-09
| | | | | | | | | | BUG=skia:2095 R=bsalomon@google.com TBR=bsalomon Author: humper@google.com Review URL: https://codereview.chromium.org/325703002
* Generate path names on the client sideGravatar cdalton2014-06-09
| | | | | | | | | | | | | | Pre-allocates a range of path names and manages allocations within that range on the client side. This allows us to generate new path objects in a feed-forward manner that doesn't require round trips to the GL server. BUG=skia: R=bsalomon@google.com, markkilgard@gmail.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/304403003
* Make sure to copy the LATC alias when copying the GrGLCapsGravatar krajcevski2014-06-09
| | | | | | | | R=robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/320273003
* Initial work to get ETC1 data up to the GPUGravatar krajcevski2014-06-02
| | | | | | | | | | Committed: http://code.google.com/p/skia/source/detail?r=15001 R=bsalomon@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/302783002
* Revert of Initial work to get ETC1 data up to the GPU ↵Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/302783002/) Reason for revert: ETC1 linking problems with chrome. Original issue's description: > Initial work to get ETC1 data up to the GPU > > Committed: http://code.google.com/p/skia/source/detail?r=15001 R=bsalomon@google.com, robertphillips@google.com TBR=bsalomon@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: krajcevski@google.com Review URL: https://codereview.chromium.org/303273008 git-svn-id: http://skia.googlecode.com/svn/trunk@15004 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use GrGLShaderBuilder::GenProgramOutput in GrGLProgram.Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/305203002 git-svn-id: http://skia.googlecode.com/svn/trunk@15002 2bbb7eff-a529-9590-31e7-b0007b416f81