lp:apitrace

Created by Ted Gould on 2011-04-28 and last modified on 2019-09-06
Get this branch:
bzr branch lp:apitrace

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Ted Gould
Project:
API Trace
Status:
Development

Import details

Import Status: Reviewed

This branch is an import of the HEAD branch of the Git repository at git://github.com/apitrace/apitrace.git.

The next import is scheduled to run in 2 hours.

Last successful import was 3 hours ago.

Import started 3 hours ago on alnitak and finished 3 hours ago taking 20 seconds — see the log
Import started 10 hours ago on alnitak and finished 10 hours ago taking 20 seconds — see the log
Import started 16 hours ago on alnitak and finished 16 hours ago taking 20 seconds — see the log
Import started 23 hours ago on alnitak and finished 23 hours ago taking 20 seconds — see the log
Import started on 2019-09-17 on alnitak and finished on 2019-09-17 taking 20 seconds — see the log
Import started on 2019-09-17 on alnitak and finished on 2019-09-17 taking 20 seconds — see the log
Import started on 2019-09-17 on alnitak and finished on 2019-09-17 taking 20 seconds — see the log
Import started on 2019-09-17 on alnitak and finished on 2019-09-17 taking 20 seconds — see the log
Import started on 2019-09-16 on alnitak and finished on 2019-09-16 taking 20 seconds — see the log
Import started on 2019-09-16 on alnitak and finished on 2019-09-16 taking 20 seconds — see the log

Recent revisions

3693. By Michal Krol <email address hidden> on 2019-09-06

docs: Fix command line for tracing dxgi apps.

Uppercase "DXGI" is not accepted by apitrace trace.

3692. By Michal Krol <email address hidden> on 2019-09-06

dxgitrace: Trace DXGID3D10* entrypoints in dxgi.dll.

Also, fix tabs in dxgitrace.def.

3691. By Jose Fonseca <email address hidden> on 2019-09-04

cli: Allow to select multiple threads when trimming.

3690. By Jose Fonseca <email address hidden> on 2019-08-27

helpers: Improve D3D8/9 shader size computation once again.

Based on <email address hidden>'s comment.

3689. By megai2 on 2019-08-27

helpers: Added note about sm 1_x token advancement.

3688. By Jose Fonseca <email address hidden> on 2019-08-27

helpers: Fix D3D8/9 shader size computation.

Fix the issue that megai2 <email address hidden> reported on
https://github.com/apitrace/apitrace/pull/625

3687. By Jose Fonseca <email address hidden> on 2019-08-22

glretrace: Avoid crashes when retracing calls with no bound context.

Unfortunately this often happens due to application sloppyness when
terminating, whereby GL resources are destroyed without first binding
the associated GL context.

3686. By Illia Iorin <email address hidden> on 2019-08-19

gltrace: Remove the incorrect offset in GLMemoryShadow::updateForReads()

Signed-off-by: Illia Iorin <email address hidden>

3685. By Danylo Piliaiev <email address hidden> on 2019-08-05

gltrace: Coalesce consecutive writes into coherent buffer

Signed-off-by: Danylo Piliaiev <email address hidden>

3684. By Danylo Piliaiev <email address hidden> on 2019-08-05

gltrace: Support writable coherent buffers

For all writable coherent buffers we create respective shadow
memory of the same size aligned to page.

When memory is being mapped we save GL memory pointer and return
readonly shadow memory with the offset.

When write into shadow memory is caught we remove protection from
the respective page, mark page as dirty and add this shadow memory
to the dirty list in the current context.

When removing protection if previous page is also dirty we double
the number of page to remove protection from.
Thus reducing amount of page exceptions to log(n) where n is
a number of consecutive pages being written to.

On all draw and unpack functions all dirty memory shadows are
being commited to corresponding gl memory and made protected again.

When fence become signaled we sync all readable buffers.

Current shortcomings:
- Buffer's contents may be changed from shaders however this
  wouldn't be reflected in shadow memory and if the same page
  is changed on CPU side and on GPU side even if offsets are
  different the data on the GPU will be overwtitten.

- Small changes in buffer result in full page write.

- All readable-writable buffers are synced back to cpu on
  fence signal instead of only potentially changed ones.

Signed-off-by: Danylo Piliaiev <email address hidden>

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers

No subscribers.