제가 AMD Llano (A-3650: APU)를 채용한 시스템 상에서 공개된 3D엔진을 사용하는 애플리케이션을 제작 중 인데 수개월간 잘 돌아가던 코드가
그래픽 드라이버를 배포 일자 2012/3/28 인 Catalyst Software Suite로 업그레이드 했더니 배열의 인덱스가 배열 범위 밖을 가리키는 런타임 오류가 발생합니다.
다시 구버젼의 드라이버로 다운그레이드 했더니 애플리케이션이 정상으로 돌아갑니다.(원인을 몰라서 식은 땀을 흘렸었죠.T T)
그런데 드라이버의 교체가 왜 저런 현상을 만들어 냈는 지 규명을 못 했습니다.
제가 궁금한 것은 이런 현상의 규명이 프로그래머인 제게 있는 지 아니면 드라이버 제작사인 AMD에 있는 지 판단을 못 하겠고
프로페셔널한 프로그래밍에 있어서 여러 드라이버 상에서도 잘 돌아가도록 신경쓰는 것이 일반적인지 궁금합니다.
프로분들은 어떻게 해결하시고 계신지 알려주실 수 없나요?
(혹시 제가 AMD 시스템을 선택한게 실수 인지도 알려주셨으면 합니다.^^;)
레알 늅늅한 프로그래머지만...왠지 예전에 본 문제 같아서 답글 답니다.
전번 회사에서 N 계열쪽에서만 잘 돌아가는 괴이한 코드가 있어서 수정한적이 있었습니다.
N계열쪽에서 프로그래머의 실수를 보정해주기 때문에 생기는 문제라고 들었는데,
이 문서의 FrameWork 순서쪽을 보시면 궁금함이 약간 덜어지실지도 모르겠습니다.
http://3dapi.com/bs22_3d_basic/bs22_3d04_program_preparation.pdf
해당 자료의 홈페이지 주인장님께서도 친절하신 분이시니 한번쯤 물어보시는 것도 좋을것 같습니다