Skip to content

Pixeltoaster in windows affects floating point precision. Causes problems with Cairo graphics #78

Description

@GoogleCodeExporter
What steps will reproduce the problem?
1. Create a Display 
2. Do something that requires full precision floating point calculations

What version of the product are you using? On what operating system?
1.4.1 Windows

Code that relies on full floating point precision can break when opening a 
pixel toaster display since the D3D function CreateDevice messes with the 
FPU flags.
Specifically it means you can't use pixel toaster to display graphics 
rendered with Cairo (cairographics.org) since it uses some funky floating 
point math to do float to fixed point conversion.
A workaround on the pixel toaster side is to supply the flag 
D3DCREATE_FPU_PRESERVE as behaviour flag when creating the d3d device, 
however microsoft warns that this might cause undefined behavior!
I have some more info in this thread:
http://lists.cairographics.org/archives/cairo/2009-April/016995.html

I'm not sure whether I want this to be patched, but if this bug report 
saves someone the hassle of figuring out why Cairo won't render to pixel 
toaster displays I'm glad I could help :)

Original issue reported on code.google.com by laseral...@gmail.com on 24 Apr 2009 at 9:31

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions