Jump to content

  • Log In with Google      Sign In   
  • Create Account

Matias Goldberg

Member Since 02 Jul 2006
Offline Last Active Yesterday, 10:01 PM

Posts I've Made

In Topic: Multithreading Library Preference

Yesterday, 05:19 PM

Thanks Adam, so it's not the performance overhead keeps game studios away from using them? (Like STL the reason most studio doesn't use it is because stl's bad debug performance and overhead)

Yes performance is also a reason. When you depend on a platform-specific library, it's waiting for problems. e.g. while a platform's performance may be decent, turns out it can suck on a different one because the compiler vendor rushed their release to support the latest C++ feature set.


I'm talking about the ones provided by a standard library or compiler. This doesn't apply to TBB, but like Adam_42 said, TBB is not free and adds yet another dependency on what most AAA developers will consider trivial (threading is really hard, but wrapping sync primitives is easy, and the key is keeping things simple. TBB adds more complex functionality that may not be needed or could be specialized for a game).

In Topic: How Do You Deal With Errors On Gpus? Do You At All?

28 July 2016 - 12:53 PM

The code you posted starts with _texCount uninitialized, which won't work as intended. It doesn't start with 0s unless you fill it. If you do fill it in your actual code, you need to sync that as well.

In Topic: How Do You Deal With Errors On Gpus? Do You At All?

28 July 2016 - 11:01 AM

Later when processing for (uint i = array[i]; i<array[i+1]; i++), because of unsigned numbers the difference overflows and gives a huge number close to 0xFFFFFFFFu.
Now i don't know if long runtime or out of buffer writes cause the blue screen, but i know why it happens.

I'm 99% sure what's happening is that because you get a bad loop count, your GPU will take too long to respond and thus you run into TDR.

The hardware bug (if so) seems to ignore my barriers, so it can happen that array[i+1] is smaller than array[i] - usually array[i+1] MUST be >= array[i].
(This also happens with work group size of 64, but less often)

GPU threading is hard.

How are you issuing your barrier? Beware in GLSL memoryBarrier does only half of the job. You also need a barrier:

//memoryBarrierShared ensures our write is visible to everyone else (must be done BEFORE the barrier)
//barrier ensures every thread's execution reached here.

In Topic: Anyone Tried Uploading A 5-Byte File To Php Before?

28 July 2016 - 08:50 AM

If the host is a cheap hosting service not controlled by you, it's very possible the webhost has lame "anti-hacking" measures enabled via custom apatche/php hook and htaccess rules that reject certain input when given in specific order because it matched a malware that used similar input to compromise an unpatched server a long time ago. I've seen that kind of crap before.

In Topic: Anyone Tried Uploading A 5-Byte File To Php Before?

24 July 2016 - 12:43 PM

File uploading must be enabled via php.ini (keywords are 'file_uploads = On'; 'upload_max_filesize'; 'memory_limit' and 'post_max_size')


Some of them affect uploads directly, some of the keywords affect them indirectly (i.e. large upload_max_filesize is useless if you run out of memory)