aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl
Commit message (Collapse)AuthorAge
* 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
* Review URL: https://codereview.chromium.org/1166513002Gravatar cdalton2015-06-12
|
* Implement support for mixed sampled render targetsGravatar vbuzinov2015-06-12
| | | | | | | | | | | | | | | | | | Adds a new FBO type kStencil_MSFBOType that is selected whenever NV_framebuffer_mixed_samples extension is available. In this new FBO type a non-msaa color buffer is created with a multisampled stencil buffer attachment. Replaces numSamples() with separate numColorSamples and numStencilSamples methods in RenderTarget. In mixed samples mode non-MSAA codepaths are used to draw simple shapes, while NVPR-rendered paths and text are rendered with a multisampled stencil. BUG=skia:3177 Review URL: https://codereview.chromium.org/1001503002
* Init GrGLSLCaps fields from inside GrGLCapsGravatar cdalton2015-06-10
| | | | | | | | | Fixes circular dependencies by allowing the initialization to be done intertwined. BUG=skia: Review URL: https://codereview.chromium.org/1177053002
* Add mixed samples support to XPsGravatar cdalton2015-06-08
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1164973002
* Apply coverage in XP base class when using dst readsGravatar cdalton2015-06-08
| | | | | | | | | | Moves the coverage logic into GrGLXferProcessor for XPs that perform dst reads. XPs that don't use a dst read are still responsible to handle coverage on their own. BUG=skia: Review URL: https://codereview.chromium.org/1170553002
* Disable unused attributes when using copy shaderGravatar bsalomon2015-06-04
| | | | | | BUG=chromium:496540 Review URL: https://codereview.chromium.org/1157943007
* Disable dual source blending support when GLSL version is too oldGravatar bsalomon2015-06-04
| | | | | | BUG=skia:3891 Review URL: https://codereview.chromium.org/1160923007
* Fix edge-line artifacts issue on MaliGravatar joel.liang2015-06-04
| | | | | | | | | | | | | | | | | | | | Some GMs show edge-line artifacts on Mali at the bottom/right of the canvas. Change the 'rtAdjustment' uniform precision from 'midiump' to 'highp' if the GPU vendor is ARM. NOTE: Vertex Shader should have default 'highp' precision, but now we explicit declared some uniform/attribute precision as 'midiump'. This patch should fix these issues: Issue 3693: Some GMs produce random artifacts on Mali in MSAA4 https://code.google.com/p/skia/issues/detail?id=3693 Issue 3685: srcmode GM has top/right line artifacts on Mali T604 in MSAA4 https://code.google.com/p/skia/issues/detail?id=3685 BUG=skia: Review URL: https://codereview.chromium.org/1154163012
* Begin tracking driver info in GrGLContextInfoGravatar cdalton2015-06-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1165463005
* Set GeometryBufferMapThreshold defaultsGravatar joshualitt2015-06-01
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1161543003
* Revert "Revert of Move copy-surface-as-draw fallback to GrGLGpu. (patchset ↵Gravatar bsalomon2015-06-01
| | | | | | | | #12 id:220001 of https://codereview.chromium.org/1144433002/)" This reverts commit 404b3b264b833eb7cffdc833c7e2ebbd708e123a. Review URL: https://codereview.chromium.org/1161063003
* Stretch small textures up to 16 pixels on PowerVR 54xGravatar bsalomon2015-06-01
| | | | Review URL: https://codereview.chromium.org/1161183002
* Refactor GrGpu path rendering functions to GrPathRenderingGravatar kkinnunen2015-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GrGpu, GrGLGpu, GrPathRendering, GrGLPathRendering all duplicated each others' path rendering related member functions. Make GrPathRending the logical extension of GrGpu by removing the methods from GrGpu. Similarly to the GL variants. Changes includes and forward declarations due to removing GrDrawTarget.h include from GrGpu.h. This was necessary due to GrDrawTarget.h including GrPathRendering.h, and now GrPathRendering.h includes GrGpu.h. (Also GrGpu.h does not need GrDrawTarget.h anymore). Very slight runtime improvement on x86_64: desk_fontwipe.skp_1 836us -> 841us 1.01x desk_silkfinance.skp_1 2.01ms -> 2.01ms 1x desk_forecastio.skp_1 7.03ms -> 7.05ms 1x desk_weather.skp_1 3.74ms -> 3.74ms 1x desk_twitter.skp_1 8.02ms -> 8.01ms 1x desk_mapsvg.skp_1 5.24ms -> 5.23ms 1x desk_pokemonwiki.skp_1 7.06ms -> 7.03ms 1x desk_sfgate.skp_1 3.19ms -> 3.17ms 1x tabl_cuteoverload.skp_1 2.66ms -> 2.64ms 0.99x ... tabl_transformice.skp_1 3.06ms -> 2.98ms 0.98x tabl_googlecalendar.skp_1 11.3ms -> 11ms 0.97x tabl_gamedeksiam.skp_1 12.8ms -> 12.4ms 0.97x desk_samoasvg.skp_1 10.6ms -> 10.3ms 0.97x tabl_worldjournal.skp_1 4.44ms -> 4.3ms 0.97x Review URL: https://codereview.chromium.org/1157683006
* SkImage::NewFromYUVTexturesCopyGravatar bsalomon2015-05-29
| | | | Review URL: https://codereview.chromium.org/1149553002
* Removing GrAutoMallocGravatar joshualitt2015-05-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1161993003
* Add caps overrides to GMsGravatar bsalomon2015-05-27
| | | | Review URL: https://codereview.chromium.org/1158963002
* Move DstCoordTexture to GrXP, rename and remove the word "copy" from ↵Gravatar bsalomon2015-05-26
| | | | | | | | dstcopytexture names. Committed: https://skia.googlesource.com/skia/+/bb106b5f6ee18f7453b63f3a95f421b60a957f39 Review URL: https://codereview.chromium.org/1132093004
* Avoid creating GrGLPath to the resource cache when creating GrGLPathRangesGravatar kkinnunen2015-05-24
| | | | | | | | | | | Do not create a GrGLPath when loading glyphs with the driver and creating GrGLPathRange based on those. The path would be inserted to the GPU resource cache and then immediately be released. Instead, just init the first path object of the path range as the template. Review URL: https://codereview.chromium.org/1146983004
* Revert of Move DstCoordTexture to GrXP, rename and remove the word "copy" ↵Gravatar bungeman2015-05-22
| | | | | | | | | | | | | | | | | | | | | | | | | from dstcopytexture names. (patchset #6 id:100001 of https://codereview.chromium.org/1132093004/) Reason for revert: This is asserting on GTX660 bots with '!dst'. This may just be catching an existing issue. https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/622/steps/dm/logs/stdio https://build.chromium.org/p/client.skia/builders/Test-Win7-MSVC-ShuttleA-GPU-HD2000-x86-Debug-ANGLE/builds/209/steps/dm/logs/stdio https://build.chromium.org/p/client.skia/builders/Test-Win8-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/318/steps/dm/logs/stdio Original issue's description: > Move DstCoordTexture to GrXP, rename and remove the word "copy" from dstcopytexture names. > > Committed: https://skia.googlesource.com/skia/+/bb106b5f6ee18f7453b63f3a95f421b60a957f39 TBR=egdaniel@google.com,bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1158453004
* Move DstCoordTexture to GrXP, rename and remove the word "copy" from ↵Gravatar bsalomon2015-05-22
| | | | | | dstcopytexture names. Review URL: https://codereview.chromium.org/1132093004
* Store context options on caps.Gravatar bsalomon2015-05-22
| | | | | | Committed: https://skia.googlesource.com/skia/+/f28cff71db2cbb1ff18a8fbf1e80ca761d1f69bc Review URL: https://codereview.chromium.org/1158433006
* Revert of Store context options on caps. (patchset #3 id:40001 of ↵Gravatar bsalomon2015-05-22
| | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1158433006/) Reason for revert: breaking chromeos build (???) Original issue's description: > Store context options on caps. > > Committed: https://skia.googlesource.com/skia/+/f28cff71db2cbb1ff18a8fbf1e80ca761d1f69bc TBR=joshualitt@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1151603005
* Store context options on caps.Gravatar bsalomon2015-05-22
| | | | Review URL: https://codereview.chromium.org/1158433006
* Remove init from GrGLContextInfo and caps classesGravatar bsalomon2015-05-22
| | | | | | Make Gr*Caps, GrGLContext* noncopyable Review URL: https://codereview.chromium.org/1153813002
* rename GrDrawTargetCaps.h to GrCaps.h and move to includeGravatar bsalomon2015-05-22
| | | | Review URL: https://codereview.chromium.org/1135113005
* 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
* Remove uniform view matrix from GrGLPrimitiveProcessor base classGravatar joshualitt2015-05-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1151693005
* 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
* Use high precision vertex attributes.Gravatar senorblanco2015-05-20
| | | | | | | | | | Specifying vertex attributes and the view matrix as mediump causes bad artifacts on Mali T6XX. Covered by the bigmatrix GM in msaa4 mode. BUG:skia=3545,3771 Review URL: https://codereview.chromium.org/1145273002
* rename GrDrawTargetCaps to GrCapsGravatar bsalomon2015-05-19
| | | | Review URL: https://codereview.chromium.org/1133123009
* Preliminary attempt to remove batch trackerGravatar joshualitt2015-05-19
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/cbfe91d82500f4ae8c3ff7bd74b3021a4b89fd84 Review URL: https://codereview.chromium.org/1139723004
* Revert of Preliminary attempt to remove batch tracker (patchset #3 id:40001 ↵Gravatar joshualitt2015-05-19
| | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1139723004/) Reason for revert: breaking bots Original issue's description: > Preliminary attempt to remove batch tracker > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/cbfe91d82500f4ae8c3ff7bd74b3021a4b89fd84 TBR=robertphillips@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1132323003
* Preliminary attempt to remove batch trackerGravatar joshualitt2015-05-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1139723004
* Improve caching of dashed paths in GrStencilAndCoverPathRendererGravatar kkinnunen2015-05-18
| | | | | | | | | | | | | | | | Improve caching of dashed paths in GrStencilAndCoverPathRenderer. Look up the (NVPR specific) GrGLPath based on GrStrokeInfo and the original path. Use unique keys for all GrPaths. Dash the path with Skia dash stroker and use that path geometry for NVPR path. NVPR internal dashing stroke is not used, because the dashing implementation of NVPR does not match Skia implementation. Review URL: https://codereview.chromium.org/1116123003
* 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
* Don't do discards when on Adreno4xx due to driver bug.Gravatar egdaniel2015-05-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1126423006
* Revert of Move copy-surface-as-draw fallback to GrGLGpu. (patchset #12 ↵Gravatar mtklein2015-05-18
| | | | | | | | | | | | | | | | | | | id:220001 of https://codereview.chromium.org/1144433002/) Reason for revert: Many GMs changed, some totally busted. Original issue's description: > Move copy-surface-as-draw fallback to GrGLGpu. > > Committed: https://skia.googlesource.com/skia/+/5df6fee929823f50c55cc50f7c882a309c1b1de9 TBR=joshualitt@google.com,egdaniel@google.com,bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1142003003
* Move copy-surface-as-draw fallback to GrGLGpu.Gravatar bsalomon2015-05-18
| | | | Review URL: https://codereview.chromium.org/1144433002
* remove localmatrix from GrGeometryProcessor base classGravatar joshualitt2015-05-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1131513005
* Remove high ref count tracker from GrFakeRefObjGravatar bsalomon2015-05-14
| | | | | | TBR=robertphillips@google.com Review URL: https://codereview.chromium.org/1139803003
* Remove viewmatrix from GrGeometryProcessor base classGravatar joshualitt2015-05-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1127953003
* Don't issue texture barriers for RT's with separate storageGravatar cdalton2015-05-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1137663004
* Revert of Revert of Revert of Remove workaround to for lower glsl support ↵Gravatar egdaniel2015-05-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for qualcomm (patchset #1 id:1 of https://codereview.chromium.org/1138013004/) Reason for revert: still broken :( Original issue's description: > Revert of Revert of Remove workaround to for lower glsl support for qualcomm (patchset #1 id:1 of https://codereview.chromium.org/1135393003/) > > Reason for revert: > trying once more > > Original issue's description: > > Revert of Remove workaround to for lower glsl support for qualcomm (patchset #1 id:1 of https://codereview.chromium.org/1133543004/) > > > > Reason for revert: > > breaks many qualcomm gms > > > > Original issue's description: > > > Remove workaround to for lower glsl support for qualcomm > > > > > > BUG=skia: > > > > > > Committed: https://skia.googlesource.com/skia/+/9770bdce776f45367c419b8dd82219eece26ca5c > > > > TBR=bsalomon@google.com > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/0cfe1242ee284290bde1ebe3f48626c555fdac51 > > TBR=bsalomon@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/b72f920ef581e9cf50a6c1afc80ed04bb086488e TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1130413006
* Remove GrGLVertexArray from GrGpuResource hierarchy.Gravatar bsalomon2015-05-13
| | | | Review URL: https://codereview.chromium.org/1137093002
* GLProgramsTest 3.0Gravatar joshualitt2015-05-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1139743002
* Revert of Revert of Remove workaround to for lower glsl support for qualcomm ↵Gravatar egdaniel2015-05-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1135393003/) Reason for revert: trying once more Original issue's description: > Revert of Remove workaround to for lower glsl support for qualcomm (patchset #1 id:1 of https://codereview.chromium.org/1133543004/) > > Reason for revert: > breaks many qualcomm gms > > Original issue's description: > > Remove workaround to for lower glsl support for qualcomm > > > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/9770bdce776f45367c419b8dd82219eece26ca5c > > TBR=bsalomon@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/0cfe1242ee284290bde1ebe3f48626c555fdac51 TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1138013004
* Revert of Remove workaround to for lower glsl support for qualcomm (patchset ↵Gravatar egdaniel2015-05-13
| | | | | | | | | | | | | | | | | | | | | | #1 id:1 of https://codereview.chromium.org/1133543004/) Reason for revert: breaks many qualcomm gms Original issue's description: > Remove workaround to for lower glsl support for qualcomm > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/9770bdce776f45367c419b8dd82219eece26ca5c TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1135393003