Skip to content

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

@GoogleCodeExporter

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions