• 1
  • 2
  • 3(current)
  • 4
  • 5
  • 7
[PATCH] Building SDL/OpenGL port on Windows (Win32)
#31
The linux port is made with SDL
SDL is a multi platform tool that means pretty much similar code can run on anything that has SDL support. The difference between the xbox version and the sdl version is SDL uses Opengl type stuff and xbox is directx, this means that the sdl version with little modifications can be made to run on most stuff in a way and is why we now have a Linux and an OSX port going as well as a SDL version for windows
Reply
#32
Great, thanks
Regards,
Embrion
Reply
#33
I found the video playback bug. It was in the file RenderManager.cpp in the function FlipPage.

Code:
/* make sure any previous frame was presented */
if(g_graphicsContext.IsFullScreenVideo() && (!m_eventPresented.WaitMSec(MAXPRESENTDELAY*2)) )
  CLog::Log(LOGERROR, " - Timeout waiting for previous frame to be presented");

Because m_eventPresented was no longer being updated due to the async renderer being phased out it was always waiting here for 1000ms (1 sec). Once I removed the wait function it runs normally.

Once I have more free time later this week I will fix some other minor issues (the mouse cursor is always limited to 720x576 no matter what the resolution and I want to make the -fs switch work), do some cleanup and submit what I have as it is now fairly stable and usable under windows. Smile
Reply
#34
m_eventPresented is set in CXBoxRenderManager:Tongueresent() which gets called from the GUI thread, so its possible that CXBoxRenderManager:Tongueresent() isn't doing what it's supposed to. If there is no wait, frames will be overwritten before they can be presented.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Please read and follow the forum rules.
For troubleshooting and bug reporting, please make sure you read this first.


Image
Reply
#35
I'll go back and take a closer look at it then.
Reply
#36
Ah, found it! I set a break point and found that Present() wasn't being called at any point so I started looking for references to it and found that CApplication::RenderNoPresent() is mostly #ifdefd out since it is only set to work when either _LINUX or HAS_XBOX_HARDWARE is defined. Once I added _WIN32 to the #ifdef line everything started working perfectly. Thanks for the tip!
Reply
#37
ArtVandelae can you upload another exe so I can have a play ?
Reply
#38
Hey, jm, are you wanting to review this patch and/or handle the check-in? I think this would be a great way to get more developers interested in the project.
Reply
#39
As far as I noticed the one on sourceforge was old compaired to what he says he has working in here
Reply
#40
Ah, I see that Art is doing on-going work for Win32. Would it still not be best to check in the SF patch to simply get compilation working while Art does his thing?

(PS. Love the Seinfeld reference.)
Reply
#41
The SF patch doesn't do much beyond getting it to compile. The version I have now is much nicer then what the initial patch will get you.

I'll have some time later today to fix a couple of minor issues and then I will post another executable. I'll probably get around to cleaning up my changes to the code and submitting a new patch this weekend.
Reply
#42
pretty good for a guy in latex ^_^
Catchy Signature Here
Reply
#43
Here is the latest executable. I also threw in the visualizations that I built for Windows.

http://www.megaupload.com/?d=UUYS1SS0
Reply
#44
This actualy works nice good to see visualizations on win32 but video didn't play for me at all. Not sure if it was meant too also the keyboard didn't act the same on xbox win32 (directx version) and linux the menu(right click) button on the keyboard opened up the context menu on this it dosn't
Reply
#45
I made a mistake with a DLL name in one of the header files. Try this fixed build.

http://www.megaupload.com/?d=767JR27Z

As for the keyboard and mouse assignments I never touched them and have no idea as to why they would be different.
Reply
  • 1
  • 2
  • 3(current)
  • 4
  • 5
  • 7

Logout Mark Read Team Forum Stats Members Help
[PATCH] Building SDL/OpenGL port on Windows (Win32)0