[webkit-dev] WebGL validations

2013-07-15 Thread SzymanskiPrzemyslaw
Hello.

Valgrind shows that WebGL performance is lowered by WebGL validation methods
like: WebGLRenderingContext::validateRenderingState,
WebGLRenderingContext::validateUniformMatrixParameters  or validations in
drawElements/drawArrays. Those validations are done in the OpenGL driver.
WebKit use those validations mostly for console output.

I propose to make some setting bool variable like: webgl_validations_enabled
= true/false and use it in WebGLRenderingContext.

So if webgl_validations_enabled = false then WebKit should not validate
WebGL and performance will be increased. Typically user doesn't need those
validations. It is helpful only for developers. So they can enable WebGL
validations by check webgl_validations_enabled = true.

In WebKit it is a variable indicating to print messages to console so for
WebGL validations this solutions should also works.

 

 

Regards,

Przemyslaw Szymanski

 

 

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] WebGL validations

2013-07-15 Thread Oliver Hunt

On Jul 15, 2013, at 4:04 AM, SzymanskiPrzemyslaw p.szymans...@samsung.com 
wrote:

 Hello.
 Valgrind shows that WebGL performance is lowered by WebGL validation methods 
 like: WebGLRenderingContext::validateRenderingState, 
 WebGLRenderingContext::validateUniformMatrixParameters  or validations in 
 drawElements/drawArrays. Those validations are done in the OpenGL driver. 
 WebKit use those validations mostly for console output.

The validation routines that you're talking are not simple logging functions: 
they are critical for WebGL to have any semblance of safety.

All of these validation routines have the following basic logic:

bool Thing::validateFoo() {
if (fooState is valid)
return true;
log(foo error)
return false;
}

all WebGL functions call the relevant validation functions and then abort if 
the validation returns false.

This validation is _not_ optional, even the WebGL spec talks about what is 
necessary.

 I propose to make some setting bool variable like: webgl_validations_enabled 
 = true/false and use it in WebGLRenderingContext.
 So if webgl_validations_enabled = false then WebKit should not validate WebGL 
 and performance will be increased. Typically user doesn’t need those 
 validations. It is helpful only for developers. So they can enable WebGL 
 validations by check webgl_validations_enabled = true.
 In WebKit it is a variable indicating to print messages to console so for 
 WebGL validations this solutions should also works.

Having an option to remove validation simply is not viable - if you wanted you 
could try to speed up the validation logic, but the validation cannot be 
dropped.

The validation is needed to achieve a semblance of safety in WebGL and the 
WebGL spec even specifies what validation must occur, so removing the 
validation would also result in incorrect behavior (relative to that specified 
by the spec.  Crashing the browser is also incorrect behavior :D )

  
  
 Regards,
 Przemyslaw Szymanski
  

--Oliver

  
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 https://lists.webkit.org/mailman/listinfo/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Buildsystem cleanup

2013-07-15 Thread roger_fong
Hi Patrick,

We haven’t looked at it, but we’ve decided we are interested in making it work 
for us.

However, we will still need to keep the VS2010 project files in our tree for 
some undetermined amount of time. If you want to start adding a cmake support 
windows support for the AppleWin port to the tree, that’d be great! 
Unfortunately, we’ll have to wait for some time before fully adopting cmake 
into our system.

Feel free to ask Brent and me for help at any point though!

Thanks!
Roger

On Jul 12, 2013, at 5:07 AM, Patrick Gansterer par...@paroga.com wrote:

 Hi Roger,
 
 did you have some time to look at my example in the meantime?
 
 -- Patrick
 
 Am 11.04.2013 um 00:30 schrieb Roger Fong:
 
 Hi Patrick,
 A few questions I have about the CMake system, being someone who's never 
 used it before.
 
 -I would like to keep all of the unified properties settings that the VS2010 
 property sheets hierarchy provided.
 Can we still maintain that through CMake easily?
 
 -How does CMake handle different build targets. Would I have to open up 
 different project files per configuration?
 
 -If I'm understanding things correctly the main differences with using CMake 
 would be:
 
 1. If a project configuration is changed run CMake / I guess whenever you 
 update the source as well (just to be safe).
  We would want to change any build scripts to use CMake: perhaps 
 build-webkit is the really the only one we have to worry about in the 
 OpenSource tree.
  
 2. If you're working on Windows, open up the solution with Visual Studio and 
 do work as usual, unless you want to add files in which case you go through 
 the CMake scripts again before moving on.
  Would all the project filters and solution dependencies would still be 
 in tact? Or is the solution file something that we would maintain that would 
 hook into the generated projects?. 
 
 -I'm assuming there's a CMake flag for specifying which version of visual 
 studio to generate project files for?
 Our opensource bots run VS2005 and our internal run VS2010 currently, and 
 seeing as we're not ready to use only VS2010 yet we would need to be able to 
 specify which.
 
 If my above concerns can be resolved and the example you posted works fine 
 for us (I'll try to take a look at it soon), it's probably okay to start 
 checking in stuff to get ready for the move to CMake. I don't think we 
 really have the resources to get things hooked up on our end in the 
 immediate future, but perhaps in the coming months.
 Also if we do end up switching over I would highly push for all other ports 
 besides Mac to adopt CMake and require any new ports to use it as well.
 
 Thanks,
 Roger
 
 On Apr 9, 2013, at 9:34 AM, Patrick Gansterer par...@paroga.com wrote:
 
 Hi,
 
 On Mon, 08 Apr 2013 18:10:29 -0700, Mark Rowe wrote:
 On 2013-04-08, at 17:45, Patrick Gansterer par...@paroga.com wrote:
 Hmm, I'll try to set up an example for WTF + JavaScriptCore. Maybe you 
 can have a look at it then to check if I understand the concept correctly 
 before I move on to WebCore + WebKit?
 
 Sounds good.
 
 I pushed a quick  dirty example to [1], which shows a possible solution 
 for WTF and JavaScriptCore.
 
 You can test it with the following steps. The helper directory contains 
 then all built files.
 
 * Create a directory helper
 * Copy all files from Source/cmake to helper/cmake
 * Copy all files (including the support libraries) from WebKitLibraries to 
 helper/WebKitLibraries
 * Create an independent directory and run the following commands in it:
 $ cmake path/to/WebKit/Source/WTF/wtf -DPORT=WinApple 
 -DHELPER_DIR=path/to/helper
 $ cmake --build . --target package
 * You get a WTF.zip, which should be extracted in the directory helper
 * Create an additional independent directory and run the following commands 
 in it:
 $ cmake path/to/WebKit/Source/JavaScriptCore -DPORT=WinApple 
 -DHELPER_DIR=path/to/helper
 $ cmake --build . --target package
 * Yout get a JavaScriptCore.zip with the DLL
 
 I would be great if someone can verify that this solution will work for the 
 internal builds at Apple.
 If I get positive feedback I'll can implement this for WebCore and WebKit 
 too. Is there someone who will review my patches for this?
 Do you think it's possible to directly switch to CMake at Apple instead of 
 upstreaming the VS2010 files? IHMO the whole work can be done in a few 
 days, if someone at Apple is willing to work with me on it.
 
 [1] https://github.com/paroga/webkit
 
 -- Patrick

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Is anyone maintaining media source API in WebKit?

2013-07-15 Thread Maciej Stachowiak

On Jul 12, 2013, at 11:24 PM, Ryosuke Niwa rn...@webkit.org wrote:

 Hi,
 
 I've noticed that we have media source API implemented under 
 Source/WebCore/Modules/mediasource/ behind MEDIA_SOURCE build flag.
 
 There has been patches like 
 https://chromium.googlesource.com/chromium/blink/+/5ab5f366cf981f30ef504b003f8f7703611fc672
  in Blink updating the implementation but nobody appears to have touched 
 WebKit code since the Blink fork.
 
 Is this one of many features we should consider removing from WebKit? Or is 
 any port intending to ship/maintain this feature in near term?

We're potentially interested in MSE for the Mac port.

 - Maciej

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev