2D Driver Development Project - HTC-CA & Team P3D go 2D! - Touch Cruise ROM Development

*** PLEASE READ CAREFULLY BEFORE INSTALLING OR FLASHING ANY SOFTWARE POSTED IN THIS THREAD ***
The software posted here is for TESTING purposes only, Team P3D or any of the posters of software, or links to software on this thread take absolutely no responsibility or liability for damage caused by the result of installing or flashing software or links to software found on this thread - correctly or otherwise, you do so on the sole understanding that you do so at your own risk.
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Project Name: Polaris 2D Driver Project
Driver Name: P3D 2D Driver (Working title)
Development and Testing Team: SEE Post #2
---------------------------------------------------------------------------------------------------------------------------------------------------------------
ANNOUNCEMENT:
The P3D team would like to extend an OPEN INVITATION to all developers and programmers from all forums of EVERY device to come forward and help us create the 2D driver which, as it is being developed from scratch will require much development work with many dll files created from scratch.
If you are interested in helping, please post your interest in this forum and we will add your name to the developers list. If you would like to help but own a different device to which the 3D driver is yet to be ported to, we would also like to hear from you and hopefully assist you with the knowledge we have gained in return for your efforts here. (actually we'll help you anyway but.. we do want your help! )
---------------------------------------------------------------------------------------------------------------------------------------------------------------
11/10 - BigKVak successfully dumped the G810 rom and work has started in analyzing its content
---------------------------------------------------------------------------------------------------------------------------------------------------------------

P3D 2D Driver Development Team:
Administration/Testing:
Support and Testing:
Bally3
NikMel
Neos2007
BigKvak
Imfloflo
Developers: (TBC)
Rogro82
NuShrike
Chainfire
Monkeyass
maqui01

It started with a few simple questions:
"Can the Polaris be hardware accelerated?"
"Why doesnt the CA Kaiser 3D driver work on the Polaris?"
That was a month ago..since then, thanks to the help and support of NikMel, NeoS2007, Rogro82 and NuShrike to name a few, we now have a working 3D driver which is currently in a version 1 state and with the release of the cab version through CA last night, we can now concentrate on improving speed and compatibility to make better use of the graphic chips capabilities.
My intention then was never to start a 2D driver or work on a 2D driver until I was satisfied no more could be done to improve it and a "final" release was in the cards, but through my own testing and various posts and conversations, I now find myself wondering whether the improvements with 3D is linked to the 2D driver?
From day 1, before we released the 3d driver and after, users have expressed faster speeds in 2d as well as 3d - though many have explained it to be a "placebo" effect, we naturally attributed this to the gpu sharing the workload with the cpu which makes sense in a common sense way - itje posted a humorous answer on his thread explaining this very thing as worth a read just to put a smile on your face, but on a serious note a question has to be asked - Does improvement on 3D really effect 2D and if that is the case, would a 2D driver help improve the 3D drivers perfornance?
So why start a 2D thread when the 3D driver still needs refining?
Well, apart from the question above, the overwhelming requests for 2D support on both Polaris and Kaiser forums (it should work on both in theory), we now have a dump of the long awaited Toshiba G810 rom to get us started- A BIG THANK YOU TO BIGKVAK - welcome to the team!
Originally Posted by BigKvak
I have dumped ROM from Toshiba, here the link http://rapidshare.com/files/152085600/dump.rar.html
Click to expand...
Click to collapse
It is inevitable then that work needs to start on this project. We also need to preserve the 3D thread for future 3D driver developments and defer 2D driver related posts from it, for these reasons, this new thread has been opened for all to start working with the P3D team in bringing 2D greatness to our devices.
Lets share our knowledge and have fun doing it like we did with the 3D driver!
PS: Although I have named the project Polaris 3D driver project, I would like to extend an invitation to users of all devices that could benefit from the 2D drivers creation, after all through CA Kaiser development, we have now ported the 3D driver to the Polaris AND the NIKE and hopefully to many more devices
Let our devices not make us divisive - whats is the point?
It is common knowledge that files from newer devices are used to help create the drivers we need for our devices - so why should we gloat and mock other less supported devices, should we not help them and share our knowledge and in the words of a good friend here "Pay it Forward?"
This is not the spirit of XDA Developers and it is certainly not the ethos of Team P3D - We have and pledge tol share all knowledge with users of all devices.
Besides, its so much more fun when we all work together!

It appears that HTC-CA were already in the process of

Reserved for p3d 4

Reserved for p3d 5

Reserved for p3d 6

Reserved for p3d 7

Reserved for p3d 8

Reserved for p3d 9

Reserved for p3d 10

I found this link on microsoft MSDN: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1214862&SiteID=1
It's a guy asking for a 2d driver library. Maybe we can look into that?

I have dumped ROM from Toshiba, here the link http://rapidshare.com/files/152085600/dump.rar.html
Click to expand...
Click to collapse
To move the discussion of 2d in here..

Windows Mobile 2D and 3D explained on MSDN
I believe this: http://msdn.microsoft.com/en-us/library/aa911096.aspx will be out first place to look. It's mostly there: 2D AND 3D info.
Here's what functions there are:
AlphaBlend API
Provides information about adding support for the AlphaBlend function to your OS design.
Direct3D Mobile
Provide information about adding 3-D graphics support to your OS design and creating applications that use the API.
DirectDraw
Provide information about adding 2-D graphics support to your OS design and creating applications that use the API.
Gradient Fill Support
Provides information about adding support for the GradientFill function to your OS design.
Imaging
Provide information about adding support for compressed still images to your OS design and reference information for the API.
Multiple Screens
Provide information about adding support for multiple displays to your OS design and creating applications to support them.

NeoS2007 said:
I believe this: http://msdn.microsoft.com/en-us/library/aa911096.aspx will be out first place to look. It's mostly there: 2D AND 3D info.
Click to expand...
Click to collapse
reading it now.. some of it we know.. let see what we can learn..

http://msdn.microsoft.com/en-us/library/aa925824.aspx
Here we go:
"Applications direct output to a specified device by creating a device context for the device. The device context is a GDI-managed structure containing information about the device. An application creates a device context by calling device context functions. GDI returns a device context handle used to identify the device.
Applications can direct output to a physical device, such as a display or printer, or to a logical device, such as a memory device.
A device context also contains attributes that determine how GDI functions interact with a device. These attributes eliminate the need to specify every piece of information Windows Embedded CE requires to display an object on a device. If you want to change an attribute, you can use attribute functions to change current device settings and operating modes. Operating modes include text and background colors and the mixing mode that specifies how colors in a pen or brush combine with colors already on a display surface."
GDI is the source of 2D on our devices. Maybe we need to look out for GDI tweaks in the registry?

BPP (Bits Per Pixel) explained
I also found this blog about the colors used on a mobile device. It's said that if you have a colordepth of 18 instead of the usual 8, 16, 32 bits, it's more cpu intensive. Isn't there a registry key for colordepth?
http://blogs.msdn.com/windowsmobile/archive/2005/09/07/462187.aspx
"The next thing to understand is how the bits turn into colors on the screen. Say you've got a typical PocketPC with a resolution of 240x320 and 65536 colors. That means you've got 320 rows of 240 pixels (dots), each of which has 16 bits of data representing its color. All of that information is stored in a chunk of memory known as the "Frame Buffer." The LCD hardware takes whatever is in the Frame Buffer and converts it directly to what's on the screen. Want to change what's on the screen? Change what's in the Frame Buffer and the screen will update.
Okay, so we need 16 bits for every pixel, and we've got 240 times 320 dots. 16 bits is two bytes, so that's a total of 153600 bytes, or 150K of RAM used to hold what's on the screen."

Maybe a good thing to mention: we're hoping that the Toshiba g810 Portege has the files we need to develop a 2D driver. We're currently trying to extract a dump we got. Anyone have experience in extracting Toshiba's .Bin files?

Direct Draw explained
On MSDN:
"The DirectDraw® API provides support for hardware-accelerated 2-D graphics. It offers fast access to display hardware while retaining compatibility with the Windows graphics device interface (GDI). DirectDraw is a specialized memory manager for both system and display device memory and uses hardware acceleration where available. With DirectDraw, you can allocate and manipulate both system and graphics memory, including transfers between the two.
DirectDraw for Windows Embedded CE is adapted from DirectDraw for Windows-based desktop operating systems. Some capabilities from the desktop version have been extended and others have been curtailed to better suit embedded devices.
DirectDraw supports the following effects:
Bit-block transfers (blits)
Page flipping and multiple back buffers
Overlays, which is placing one image surface over another on the video display
Alpha source over destination blending, which is blending two surfaces using the source alpha image component
Video YUV pixel formats and color conversion
Direct video access to the frame buffer
What if we compare our HKLM\system\DDRAW\ keys in the registry with other devices? I see the values in ALL keys there are empty.

Yes.. I've noticed that and played around with them.. no difference.
I've tried the LG KS520, Diamond and HD ddraw.dll files.. none work out of the box. Maybe the G810 one might make a difference?
We need to find out what calls are made and to what other dll files. If you remember the problem we had with the 3.13 ddi? it could be similar situation in that theirs a dependencies issue.

Related

Pocket Programming Language 1.30 released!

ArianeSoft Inc's PPL 1.30 has finally been released!
The easiest Smartphone and PocketPC developement tool is now faster, slimmer, more stable and cheaper. Build amazing games and GUI applications for the Smartphone and PocketPC today.
PPL Profesional has a new low price of only $69.95 USD. The Standard version is $35.95 USD.
Get PPL Pro now http://store.esellerate.net/s.asp?s=STR5900755369&Cmd=BUY&SKURefnum=SKU92325858335
PPL 1.30 includes:
- Brand new installer that supports Smartphones, PocketPC and PC all in one.
- Brand new compiled file (.PPC) loader, which is a lot faster and requires less memory.
- Multiple control selection support in the PIDE visual form builder.
- Multi-layer alpha transparency support for sprites and surfaces.
- Many GameAPI enhancements, including fixes, optimizations, new functions and features.
- Support for PNG file format added on the PC and PocketPC.
- Tons of new integrated functions to simplify your life.
- SQLite v3 database engine support on PC and PocketPC.
- FMOD and BASS sound libraries support.
- New Phone API library to access Smartphone's features.
- Package file enhancements allow working directly from disk to save precious memory space.
- Huge compiler memory optimizations.
- Reduced footprint of each linked list element by more than 75%.
- New memory management functions for lighting fast allocation of small blocks of memory.
- Tons of bug fixes and other optimizations.
Download PPL 1.30 now http://arianesoft.ca/download.php?view.36
Learn more about PPL at http://www.arianesoft.ca/page.php?1 and visit our forums if you have questions http://www.arianesoft.ca/forum.php
What an advertisement...?
Keyone said:
What an advertisement...?
Click to expand...
Click to collapse
I doubt it, probably a subtle hint to guys like AC to try his slidelock program with the new version. There may be performance increases, as well as new functionality that his already great program might be able to take advantage of. Just a guess though.
Well don't forget, the famous slide 2 unlock application is created by using the ppl programming lanquage. So those wishing to tweak their own version of a s2u might be interested in using it with the available source code or other applications / games for their pocket pc for that matter.
sorry didn't see your post above nmeister.
What are the limitations of the trial version??
i already tried compiling slide2unlock with the latest beta version.. didn't solve the OS compatibility issues still

Lets Built OpenSource Projects for PPC. 6 Projects Posted. Updated 7th Feb 2008.

NOTES:
The projects if developed will become a generic code baseline for each and every developer seeking codes.
This means projects in this thread is just to give everyone a basic working conceptual code which can be used anywhere in similar projects.
Just think people has great ideas to work on, but they dont have baseline code from where to start as most of them might be learning.
So this thread should help them out giving a working base code..
Any1 interested in building couple of OpenSource Projects for PPC? Ill post concepts.
Lets built next generations of applications together as open source which people can use to learn things as well.
The reason open source is so that everyone can contribute code for a project, and work together to built the best.
Anyone Interested???
------------------------------------------------------------------------------------------------------------------
Project 1: File Indexer for PPC [FIndexer]
Not Sure if it exists or already available.
Added:
01 Feb 2008
Description:
To index each and every file on PPC with custom options on indexing.
Purpose:
In todays world where 1gb,2gb,4gb cards are available, we store tons of file on our PPC like ebooks, songs, music, videos.
Many times it is not possible to search using a search utility as it may consume battery and we need to wait till file is being search.
This is the place where this FIndexer comes in to picture, where we index our file either manualy or scheduled.
And then searching a file will just take 1 second to return the results.
Language:
C++ is best language for this kind of project because of speed.
Database:
Not sure, but either SQL or Access DB.
Type:
Open Source
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
Project 2: File System for PPC [PFS (Pocket File System)]
Not Sure if it exists or already available.
Added:
01 Feb 2008
Description:
Idea came from Microsoft new file system WinFS.
Correct me if i am wrong, this File system is a file table itself where it keeps track of each and every files in details in Real Time.
Purpose:
In todays world where 1gb,2gb,4gb cards are available, we store tons of file on our PPC like ebooks, songs, music, videos.
Many times it is not possible to search using a search utility as it may consume battery and we need to wait till file is being search.
This is the place where this PFS comes in to picture.
Why use any indexing software also?, let this File system handle it in real time.
Language:
C++ is best language for this kind of project because of speed.
Database:
Not sure, but either SQL or Access DB.
Type:
Open Source
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
Project 3: Tic Tac Toe (x & 0) Game (BlueTooth Enabled)
Not Sure if it exists or already available.
Added:
01 Feb 2008
Description:
This is a game which we always played for fun in good old days and still we play.
We might have wasted good amount of papers to play this game. Classic X & 0
Purpose:
We hardly see any bluetooth enabled games for PPC. Thats the purpose to built a very basic game with 2 players mode on bluetooth.
This may be a good code for all the developers round here who wants to start with some bluetooth code.
Language:
C++ is best language for this kind of project because of speed.
Database:
Not sure, but either SQL or Access DB or XML
Type:
Open Source
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
Project 4: Multipurpose Single Line Marquee Scrolling Today Screen Plugin [Like Stock Tickers]
Not Sure if it exists or already available.
Added:
01 Feb 2008
Description:
A today plugin which scrolls like a stock ticker in 1 or 2 lines, and provides useful configurable information like battery info, world time, live money rates, notifications, one liner quotes, jokes, appointments, bluetooth status, and much more, in 1 or 2 scrolling lines.
Purpose:
Many might have noticed too many of today plugin gives a scroll bar to your today screen which dont look good.
This is where this plugin comes in to picture.
This should be completely customizable right from scrolling speed to colors to information to flashing colors speed, bold and much more.
Language:
C++ is best language for this kind of project because of speed.
Database:
Not sure, but either SQL or Access DB.
Type:
Open Source
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
Project 5: Application Specific Backup Tool (Can be a great tool)
Not Sure if it exists or already available.
Added:
04 Feb 2008
Description:
There are several backup tools which takes backup of PPC as a whole and can be restored easily, but:
How many times you feel that you had installed tones of applications and had taken a backup of those, and now when you get a new PDA, you feel like you dont want to again install all the applications installed previously due to certain reasons. By restoring the backup you end up again with all unrequired applications again.
This tool will help you to eliminate those problems by taking backup of each and every application configurations seperately with version informations. Yes now you can backup configurations of your games, your theme managers, your music player configurations and everything and have choice to restore them back again seperately as required.
Yes people who develope tools with configurations involved may have to coporate to tell us where they save the data of their application so we coders can add a plugin code to backup that particular application.
You can say that this tool has a builtin database information of most of the application to backup the configs.
Purpose:
Description above says it all
Language:
C++ is best language for this kind of project because of speed.
Database:
Not sure, but either SQL or Access DB or XML
Type:
Open Source
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
Project 6: Application data which synchronizes with Web Services.
Not Sure if it exists or already available.
Added:
07 Feb 2008
Description:
Again this is an application which most coders are going to like who are learning mobile codings. This application mainly shows how to communicate with mobile device application with web service to keep data in sync. Data can be either contacts, games scores, or any text based details.
Yes a today screen plugin would be nice to show some information on sync or other details.
Purpose:
To provide generic code to each coder seeking this kind of communication.
Language:
C++ is best language for this kind of project because of speed.
And either .Net or Java for Web Services.
Database:
Not sure, but either SQL or Access DB or XML
Type:
Open Source
------------------------------------------------------------------------------------------------------------------
All Projects should be easily skinnable by anyone.
People willing to part of this project, than please post your details as follows:
Name:
Skills:
Comments:
Once we have a team than we will go ahead and create documents like
RUD (Requirement Understandings Document)
SRS (Software Requirement Specifications)
What do you guys say??
Wanna work together as one, and built a new world for everyone?
Wait for everyone's view, either good or bad.
I am not sure how good above to projects are, but this thread mainly wants every coder, designer, tester to work together and built something.
List of Contributers (Coders, Designer, Tester, Others)
This place will list all the Contributers (Coders, Designer, Tester, Others)
Screen Design for each Projects goes here
Screen designed by contributers goes in this post.
NOTE:All screens designed will be copyright of the designer and should not be distributed or used without a permission.
Attached a Screen for an idea for Project 4
Notice the first Plugin in Yellow border.
Created by me.
List of Features and Request for Features and Suggestions
List of Features and Request for Features and suggestions goes in this post whomsoever wants. Then the team can make it happen.
Builts / Releases
Builts / Releases Goes in this section.
Technical Disscutions
Important Technical Disscutions will be posted and collected in this post.
Intentionally kept blank 1
Intentionally kept blank 1
Intentionally kept blank 2
Intentionally kept blank 2
Intentionally kept blank 3
Intentionally kept blank 3
Intentionally kept blank 4
Intentionally kept blank 4
Intentionally kept blank 5
Intentionally kept blank 5
zbop has done something similar to what you are looking for in number 4. You place info in reg. keys and then update that info via Mortscript (or however you want) and then it gets scrolled on a today screen line. Check out http://discussion.treocentral.com/showthread.php?t=141375 post #269 for the latest version.
more than 600 views but just 1 reply!
I wonder how does open source developers meets and work together
I decided to give this initiative a fighting chance so I am going to 'sticky' this thread for one week.
If there are no takers I will 'unsticky' it.
Unfortunately, I do not currently have time to take part in this project my self as I am learning to program for Linux and OpenMoko specifically.
greenhacks said:
more than 600 views but just 1 reply!
I wonder how does open source developers meets and work together
Click to expand...
Click to collapse
They don't, they start by making something, small, runnable, interresting, then share it, with the source.
This is more than i could expect from this forum. Thanks a lot.
This is a try to bring many great people in this forum and to develop something great for the forum.
Projects mentioned in this thread is just for start.
People can give their own new ideas so all work together and make something great for all the forum users.
i have no other intentions to start this thread other then bringing all together.
Starting this thread i thought i will also put my skills to help new guys.
Thanks again, and i hope this works out.
Here's a project idea that came up in the herald forums - use your touchscreen as a psudo-wacom tablet while tethered. Yes it would only be on/off and wouldn't sense pressure differences, but would still make for a cool project.
Heared of Android?
I guess you have heared about android,an all open-source linux based platform.And about the total of 10M bounty by Google as an award for the top 50 applications tha will be developed for the platform.So I'm guessing any developers with the skills to do such projects will have their hands full.
After all it sould be reasonably easyer to programm for an all opensource platform than for WM,a closed source platform.
Just my 2 cents.
nstamoul said:
I guess you have heared about android,an all open-source linux based platform.And about the total of 10M bounty by Google as an award for the top 50 applications tha will be developed for the platform.So I'm guessing any developers with the skills to do such projects will have their hands full.
After all it sould be reasonably easyer to programm for an all opensource platform than for WM,a closed source platform.
Just my 2 cents.
Click to expand...
Click to collapse
Count the number of applications developed in this forum by everyone for so called 'closed source platform of wm6'
I do agree with your thoughts and dont say you are wrong, but hey thats a whole different ball game.
Always remember
When a company runs out of concepts, then company organises a competition with great prices. At the end company gets thousands of new concepts. winner gets the price, company gets new product.
same thing happens in open source world as well as close sourced.
If all think in this direction then i can bet, xda will run out of members.
not trying to defend, but this is something which simply cannot be debated or this is not a right place.
tene said:
They don't, they start by making something, small, runnable, interresting, then share it, with the source.
Click to expand...
Click to collapse
Then lets make something small, runnable, interresting, and share with the whole world!
It was very dificult to find this kind of groups, thats the reason internet became so famouse, where we can find different people with great skills from different country and make things possible.

Polaris 3D Driver Development Project (P3D) - Phase II

*** PLEASE READ CAREFULLY BEFORE INSTALLING OR FLASHING ANY SOFTWARE POSTED IN THIS THREAD ***
The software posted here is for TESTING purposes only, Myself, NikMel or any of the posters of software, or links to software on this thread take absolutely no responsibility or liability for damage caused by the result of installing or flashing software or links to software found on this thread - correctly or otherwise, you do so on the sole understanding that you do so at your own risk.
-----------------------------------------------------------------------------------------------------------------------------------------------
Project Name: Polaris Project P3D
CAB Name: HTC-CA-Polaris-Drivers
Development and Testing Team: Bally3, NikMel, Neos2007, NuShrike, Rogro82
Bally3 - Development, testing and updates
NikMel - Development, ROM updates and testing
Neos2007 - Development, CAB updates, videos and testing
NuShrike - Development and code optimisation
Rogro82 - Development, code optimisation and testing
JesseW - Design & testng
11/10 - With the release of the 2D driver and also a rom dump of the long-awaited Toshiba G810 rom - We are temporarily suspending further development and discussion of the 3D driver whilst we pursue our other ambition of bringng better 2D capabilities to our devices.
Please see the Poilaris 2D Driver development thread here:
http://forum.xda-developers.com/showthread.php?t=435190
Thank you - we will continue the 3D driver improvement discussions shortly.
-----------------------------------------------------------------------------------------------------------------------------------------------
8/10 - Today, The P3D team are proud to announce the release of the P3D Polaris 3D driver in an installable (and uninstallable!) cab form through its partnership with the htcclassaction.org website. Our thanks to Chainfire and the Kaiser team for the creation and distribution of the cab file via its website and enabling the p3D team to concentrate on further development and improvement to the driver.
We wish them all the best
The link to the cab can be found on this page: http://www.htcclassaction.org/driverprogress.php#update_20081009_1
-----------------------------------------------------------------------------------------------------------------------------------------------
2/10 - Distributed new set of drivers that are compatible with the Polaris ddi to all rom chefs to test and integrate into their roms.
-----------------------------------------------------------------------------------------------------------------------------------------------
30/9 - Initial feedback from Itje's rom is encouraging - users express faster speeds with a few exceptions. NuShrike has success making the original Polaris ddi,dll work with the 3D driver - tested and confirmed working with improved results.
-----------------------------------------------------------------------------------------------------------------------------------------------
28/9 - Asked rom chefs to assist with testing with their own roms with the drivers cooked in - ije released a new version with 3D drivers.
-----------------------------------------------------------------------------------------------------------------------------------------------
27/9 - Testing continues with some impressive benchmarks from NikMels rom which has the files cooked in.
-----------------------------------------------------------------------------------------------------------------------------------------------
26/9 - Group set up for development team: http://forum.xda-developers.com/group.php?groupid=18
-----------------------------------------------------------------------------------------------------------------------------------------------
25/9 - NuShrike and Rogro82, our developers on this project had a breakthorough to fix the scrolling. Neos2007 created a cab which will be posted out to all testers on this project.
An updated video from Neos2007 of the non scrolling 3D acceleration can be seen here: http://www.youtube.com/watch?v=58PFxhIVeE0
A Cab file has been generated by Neos2007 for testing FOR the team - we will release a Public Beta after some testing.
PLEASE DO NOT POST REQUESTS FOR THE CAB!
------------------------------------------------------------------------------------------------------------------------------------------------
23/9 - After trying every angle to fix the scrolling we are now looking at help from NuShrike, a veteran from the CA Kaiser driver who has agreed to help us in porting the CA driver to the Polaris.
-------------------------------------------------------------------------------------------------------------------------------------------------
UPDATE: After much research and some interesting development work, NikMel has posted a rom which shows hardware acceleration working in concept! - you can see a few youtube videos here:
Neos2007: http://nl.youtube.com/watch?v=69_6zgIZLaU
SuperJMN: http://www.youtube.com/watch?v=0RMYnI23JB4
What you ask IS what we all want to know. Why the Kaiser, but not Polaris?
Is it capable to do it? It is not? Is is a matter of time?
Putting my thoughts to graphical paper here. it might help someone or it might not.
So when I enquired about whether the 3D driver for the Kaiser from htcClassAction.org would work on the Polaris, the answer was a resounding NO!..
Apparently the Polaris was missing a potential ddi.dll file that was rumoured to be included in WM 6.1.
UDK's Syrius R0 looked promising but the bugs forced me to look elsewhere so I flashed swtos new rom which claims to include the ddi.dll and have "3D Support", though swtos also mentions that there is NO hardware accelerated driver available for the Polaris.
Swtos' Rom included the 3D tests which show the D3DM demo cube actually moving at about average 3.2 fps but the lights program still shows HARDWARE RASTERIZATION: false and "Using system memory".
Athough there are clear speed differences from my UDK R8 rom, video playback is slightly smoother, overall rom speed after installing all programs faster its clear that apart from some tweaking and the ddi.dll file (or tweaking BY the ddi.dll file) this is only software acceleration.
So the question is:
IS THE POLARIS CAPABLE OF HARDWARE ACCELERATED 3D?
From my limited understanding of this, the only way to verify that the Polaris is running on hardware accelerated 3D mode is that the lights test should say "Using Video Memory".
I tried installing the kaiser 3D driver in the hope that now I have the ddi.dll file this may work. no such luck - exception errors etc..
So started looking at the dll files mentioned in the lights program and googled the file named on the first screen which was d3dmref.dll. I found this interesting article at Microsoft:
Failed on Direct3D mobile Test in Test Tools
Apparently d3dmref is a Microsoft D3D reference driver (not hardware accelerated)
(Continued)
------------------------------------------------------------------------------------------------------------------------------------------
Some questions then:
drdmref.dll is a referenced driver. So what is ddi.dll and what does it do specifically?
The ddi.dll performs better than the Samsung Omnio driver which in itself proved to show much improvement than before - why?
If we now have the required ddi.dll, what else needs to be done to make the HtcClassAction Kaiser 3D drivers work with the Polaris?
What other files are we missing?
Time for a break.. and hopefully someone might be kind enough to provide some answers.
SuperJMN said:
What you ask IS what we all want to know. Why the Kaiser, but not Polaris?
Is it capable to do it? It is not? Is is a matter of time?
Click to expand...
Click to collapse
Sure it is.. and here's hoping somehow we get an answer from someone.
Swtos, UDK, these guys must know a little though the actual 3D bit seems to be a carrot dangled to get everyone excited over individuals forthcoming roms.
udk does not directly answer the 3D question, swtos in his defense, has been blunt about the fact that HARDWARE acceleration doesnt exist in his rom which is fairplay.
bally3 said:
.....
So the question is:
IS THE POLARIS CAPABLE OF HARDWARE ACCELERATED 3D?
...
Click to expand...
Click to collapse
the think is, if the chipset have hardware alleleration, so the polaris have hardware acceleration. we just need the software to unlock it. a time ago i read something about the qualcomm chip and there where standing that the chip have hardware acceleration. i dont think that htc has made a new chip for the polaris so it dont have hardware acceleration. they just used the chip how it was.
Which would mean it should be capable and we should try to ascertain which, if any files are missing from the Polaris as opposed to the almost identically specced Kaiser which has now seen true hardware acceleration.
Of course it might be some simple tweaking to the registry or the dll files to make the classaction drivers working.
I Found this thread in these forums. Look at the last post:
Can anyone run the D3d Mobile samples?
"i,ve had kinda the same problem trying to get some of the samples to run on my trinity, try changing d3dmpp.AutoDepthStencilFormat = D3DMFMT_D24S8;
Dont know if its the same problem but it helped me out."
Anyone care to venture a thought?
This is an interesting article:
microsoft.public.win32.programmer.directx.graphics
might be old news, might be new but this Don Crouch guy seems to know his stuff. Of interest is this line:
"Any device manufacturer should be spanked for shipping this driver as it was only designed for generating golden images to test drivers against. MS prohibits it from being shipped on any device."
This is in reference to the d3dmref.dll which IS present in the Polaris!
Been reading the Kaiser thread to see if I could better understand the issue:
D3D or OpenGL ES hardware acceleration for Qualcomm MSM7200
Reading the last posts we now also have to consider another question if there is a heat issue and HTC were aware of it:
SHOULD we try to hardware accelerate the Polaris???
bally3 said:
Been reading the Kaiser thread to see if I could better understand the issue:
D3D or OpenGL ES hardware acceleration for Qualcomm MSM7200
Reading the last posts we now also have to consider another question if there is a heat issue and HTC were aware of it:
SHOULD we try to hardware accelerate the Polaris???
Click to expand...
Click to collapse
good point. i mean, does anyone have real problems because he dont have the drivers? tomtom could be a little more faster but it works. last time i drove over 350miles and was using tomtom all the time and the device got really hot. so if its true i dont think i will use the drivers....
another question....does the kaiser really have 3d drivers ? i dont read the hole story.
OK, putting the "should we" question aside I've been doing some more delving into why the HtcClassAction.org kaiser driver doesnt work out of the box (mainly cos we all would still like to see the Polaris doing hardware accelerated 3D - and who could blame us?
So heres what I've found out so far:
1. Kaiser driver is compatible with roms which include a ddi.dll file version 3.28 and up - someone mentioned 3.55(my file version in the swtos rom shows 3.13.0.0?)
2. We might be missing some required dll's (anyone fancy doing some digging here plz?)
... I'll investigate further!
thanks bally3 for those news...
ouioui01 said:
thanks bally3 for those news...
Click to expand...
Click to collapse
You're right welcome!
It seems this is the missing link, the wm6.1 that htc officially releases must have a ddi.dll file of 3.28 or above built into it, but I dont know what tweaks are meant to be involved to make a difference.
I'm currently looking for a ddi.dll ver 3.28 as mine is in the Windows directory so I'm assuming its not going to blow up if I try it! (might mean yet another HARD RESET - but it would only be my 10-11th reset since udk's R0 release! - and I always have my current swtos rom on my card ready to flash back if it doesnt boot).
Anyone find this file might want to post it - or brave enough to try it?
Reading this thread in the Kaiser forum, whilst looking for the illusive dll and its dependencies, I came across this thread which contains a ddi.dll file that I do have as a cab on my ppc and was wondering what it would do:
Tutorial - FIX The ClearType in Landscape
It mentions that any ddi.dll file under 3,28 must be a wm6.0 ddi file.
Seeing that mine happens to be 3.1 in swtos new rom which does seem to show some hardware improvements, am I looking in the wrong place or was the 6.1 rom built with a 6.0 dll simply with some jigger-pokery (sorry my technical expression!) to make it work better?
Will the OFFICIAL WM 6.1 come with the required ddi.dll file?
I think I'll quit my hunt for the dll file for the time being and look for more info on the official WM6.1, which is rumoured for release some time in the very near future...
I just want to share my tests
This test is made by Spb Benchmark
I don't think that there is a test like this high.
Who did these tests? and were they done on the current 6.0 release?
These are my test on my polaris wm 6.1 with the latest drivers from o2.
I can share this rom but there is a BIG problem camer is not working and video call too.
I made this rom.
if you've installed the rom can you tell us what version the ddi.dll is then please?
..and thank you for contributing to this thread
NikMel said:
These are my test on my polaris wm 6.1 with the latest drivers from o2.
I can share this rom but there is a BIG problem camer is not working and video call too.
I made this rom.
Click to expand...
Click to collapse
It doesn't really matter!! All we wanna do is TESTING! Please, share that ROM to see if it has some clues for us to carry out research on possible improvements
SuperJMN said:
It doesn't really matter!! All we wanna do is TESTING! Please, share that ROM to see if it has some clues for us to carry out research on possible improvements
Click to expand...
Click to collapse
hmm.. maybe you're right but the ultimate question about hardware acceleration like the kaiser lies with the version of the ddi.dll. But yes, if the benchmarks are that good its worth testing it so please do share the rom with us, who knows, with different radios the video calling and problems may get fixed and will only help to improve the rom.
I made this test after installation of keiser video fix from htc....org
Uploading.....

{Updated-12/10/09}[Project] DirectMobile - DirectX Accellerated UI Framework for WM

DirectMobile is a DirectX based Managed UI Framework for Windows Mobile. Aim of the framework is to provide an elegant UI for Windows Mobile devices which is simple to develop against.
Target Platform:
WM6.0+
.NET CF 3.5
Current Implementation:
All graphics rendered in Direct3D. Each DM Application gets access to the rendering device and has one host window. The host window renders one frame at a time. Each frame can hold other elements such as buttons, labels or lists.
Design Considerations:
Sharing of GPU by multiple applications [High Priority]: Ideally a DirectMobile Rendering service must be implemented and applications request rendering via named pipes. This will reduce GPU and CPU utilization.
Remove dependencies on System.Windows.Forms [Low Priority]: To reduce developer confusion, references to Windows Forms need to be removed. This can be implemented via native calls to AGL lib.
Tested Against:
Blackstone: WM 6.5 + Neo Driver Pack r3
Touch Cruise: WM 6.5
WM 6.5 Device Emulator
WM 6.1 Device Emulator
WM 6.0 Device Emulator
Sample Code:
public static void Main()
{
//Start DirectMobile Application
DMApplication.Run();
//Render a new Frame
DMApplication.Current.ShowFrame(new Controls.Frame{ BackgroundColor=Color.Black, ForeGroundColor=Color.White, Title="My First Frame"});
}
DirectMobile on Codeplex
put me down for pre-alpha, alpha, beta, rc tester.
Nice initiative. It is rumoured that MS will let go of Direct3D with the onset of WM7. Is OpenGLES not the way forward?
On a side note, I wouldn't mind beta testing, heh.
Thanks in advance.
Count me in for graphics and ideas (if needed).
nuke1 said:
Nice initiative. It is rumoured that MS will let go of Direct3D with the onset of WM7. Is OpenGLES not the way forward?
On a side note, I wouldn't mind beta testing, heh.
Thanks in advance.
Click to expand...
Click to collapse
I did a quick lookup and i dont see any references on OpenGLES been used with WM7. If you find something let us know but please lets not discuss this here
Am always willing to test for constructive purposes. Let me know if you need a tester for the HTC Fuze / Touch Pro
i am also willing for some alpha and beta testing!!!! using a diamond
twolf said:
Count me in for graphics and ideas (if needed).
Click to expand...
Click to collapse
me too, graphics and usability issues.
wondering if XDA Flame will support this in HW Accelerated mode.
Most of the drivers on Flame are reference BS, slapped from the MS emulator onto the device. Fingers crossed for this one.
Count me in to test it (VGA device, HTC Universal).
I'm in as a developer. I have a decent amount of c# experience.
will to beta test for usabilty and bugs - diamond user.
Count me in. Sprint touch pro
I'm also want to be a tester. Also, can help in development, if free time will be exists.
I'm not try use managed DirectX, only OpenGL small apps for PC.
HTC Blackstone.
I thought about writing something like this a while back - don't have a ton of cycles, but can contribute on the dev side and testing.
I can help with testing this time around. Maybe I can help with developing later on. I'm using an HTC Touch VOGU100
tester
just got a touch pro and can consider as intermediate user .....well i can help out as tester ... do giv me a pm ..... hopefully i can help out n also gain some exp ..... thanks
I will be happy to help with graphics and design. I have helped with the manila - framework.
BTW: my other account it call UknownDev
also I am have some nice TF3D Themes.
So.. I'll be more than happy to help.
nice!
I'm in for testing and graphics!
I own an ASUS P550 (greek WM6.1pro) and will probably switch to an Omnia variant soom.
This seems to me like a great idea!
I'm experienced with C# and would like to help in this project (the development part). I don't have much spare time because of my current job, but whenever I can find some, I'd love to help.
-- edit:
I've got a Codeplex Id: w0lf

Render-To-Texture with HTC Diamond 2

Hi everyone,
I have a small technical problem to solve and hopefully someone knows an answer for it. Someone gave me a HTC Diamond 2 (very nice toy I think). I don’t know which hardware is exactly inside the phone but I assume it’s an ATI ImageOn 2300 which fully supports OpenGL ES 1.0 + Extension Pack (that’s what GL_EXTENSION is saying). And all of these extensions are doing fine. As everyone knows HTC is not providing a D3D driver for their phones and all other drivers I have seen are just a wrapper around OpenGL ES. So using D3D is currently not an option.
I have to write an application which requires some render-to-texture functionality in realtime and here my problems are starting to grow.
[1] glCopyTexImage2D:
I recognized that glCopyTexImage2D() is very slow. My framerate is dropping dramatically from >100 frames down to ~20 frames. Somehow this is done in software by the driver and not hardware- accelerated. glCopyTexSubImage2D() is even more slow (down to ~10 frames per second), but both functions are working. I tried to move it into a different thread, but the driver is not supporting shared contexts. Also it’s not supporting two bound contexts at the same time with two different windows and threads. So this can’t be improved or I’m doing something wrong.
[2]PBuffers:
PBuffer are working fine. But PBuffers which can be bound to a texture are not supported by OpenGL ES 1.0. And that’s what happens also on this ATI card.
[3]GL_OES_framebuffer_object:
This was my preferred choice. But framebuffers are not officially supported by the installed OpenGL driver. But the libgles_cm.dll on the HTC is exporting these functions so I tried them and recognized that they are not working correctly. Somehow the vertex pipeline is allowing only triangles in the center of the viewport. All others will be discarded. When I turn it off it renders correct. Using glDrawTexiOES() will be ignored while using framebuffers. I assume that either the current implementation of the framebuffers is just waste of some development guys or the functionality is locked in some way.
[4]D3D:
Normally D3DM is supporting to switch between different rendertargets. But we are all know the D3D problem. I tested some other D3D drivers but they are not usable. Also I can’t imagine how render-to-texture will be implemented in these drivers while it’s not working in OpenGL.
I’m wondering what TouchFlow3D is using internally, whether they are using render-to-texture or not. The only thing I know is that they are using OpenGL ES and some extensions. But Manila.exe is querying the functions of libgles_cm.dll during runtime. So I have to write a few proxy dlls first and need to hook into the system to track what they are doing. And I don’t want to spend time on this.
Does someone knows an alternative to do some render-to-texture on the ATI or knows some secrets of the libgles_cm.dll which I don’t know? There are a lot of private functions inside but can’t find some documentation about it. Also ATI and Qualcomm are not very helpful to me.
Thanks.
Maybe, glReadPixels and then glTexSubImage2D (what probably glCopyTexImage2D is doing)?
(I know that this goes two times over the graphics bus, but you never know...)
What kind of scene (number of triangles, lights, textures) are you rendering with > 100fps?
glReadPixels() + glTexImage2D() is even more slow than glCopyTexImage2D...
Also this can't be parallized. I thought using AHI2DATI.dll instead to do the same thing, but I don't know how to get a surface handle from a OpenGL texture id.
>>>What kind of scene?
A very simple scene yet. Only a few depth sorted + material sorted objects (via VBO) with some textures (backed lighting) on it. Textures are compressed. Currently no lighting, no skinning or other things. While the render thread is waiting for glFinish() to return, a second thread prepares the next frame. Also the rendering thread is not redrawing the entire viewport each time.
The OpenGL texture id is the handle. There's nothing more you can do with it. PBuffers or framebuffer objects are the only way I know for doing performant render to texture in OpenGL.
No...I mean the surface handle of the AHI2DATI library. Here you have access to the raw data of the surface. Somehow the libgles_cm.dll uses these surfaces for it own buffers and/or textures or not?!
But this is not really useful unless someone tells us whats going on inside libgles_cm.dll.
See:http://greengalaxy.wordpress.com/2009/04/18/ati-direct-access-to-hardware/
Hi jeansmsixer, I don't think there is no efficient way to do it. Have you tried eglCopyBuffers?
Aren't all textures stored in system memory? - they surely have to be because the device reports no available video mem.
Even if you get a pointer to the color buffer, it's impossible to wrap the memory in a HBITMAP to select onto a HDC and use GDI fonts for instance. (which is what I need to do).
If you do write the proxy dll like you were suggesting, can you please let me know what TF3D does for fonts? Are they textures or have they somehow mixed 3D with GDI?
Hi jeansmsixer, something else you could try is what is described here:
http://brewforums.qualcomm.com/showthread.php?t=10668
Looking on glbenchmark.com it looks like HTC devices support the extension. You should be able to get a pointer directly to the color buffer (which I presume is in normal system memory) so you could copy off pixels fairly efficiently with your own memcpy(). However, you will need to eglWaitGL() etc to ensure 3d stuff is complete before attempting to access it.
I love the irony of the only helpful information for WM opengl being found on a brew site for symbian. If WM7 is as terrible as the current mess, then I'm moving to iPhone.

Categories

Resources